2020/08/22 #練習用データでグルーピングの練習

皆様おはようございます、

#猫でもできるPowerShell(備忘録)

#練習用データでグルーピングの練習

<#

元ネタ

https://resas.go.jp/municipality-surplus/#

企業活動マップ>企業情報>黒字赤字企業比率

#>

$t=

ipcsv "~\Downloads\municipality-surplus_20190129\municipality-surplus_20190129\企業活動_企業情報_黒字赤字企業比率_都道府県_大分類.csv"

-en default |

Group-Object 集計年,産業大分類CD,産業大分類名

$t |%{ $_.name;

$_.group |Measure-Object -av 黒字企業割合 |select property,average } |FL

2012, A, 農業,林業

Property : 黒字企業割合

Average : 0.643787234042553

2012, B, 漁業

Measure-Object : 入力オブジェクト "X" が数値ではありません。

発生場所 行:5 文字:11

+ $_.group |Measure-Object -av 黒字企業割合 |select property,average }|fl

+ ~~~~~~~~~~~~~~~~~~~~~~~~~

+ CategoryInfo : InvalidType: (X:String)

[Measure-Object], PSInvalidOperati

onException

+ FullyQualifiedErrorId :

NonNumericInputObject,Microsoft.PowerShell.Commands.Measur

eObjectCommand

Property : 黒字企業割合

Average :

# エラーが出たため修正

$t=

Get-Content "~\Downloads\municipality-surplus_20190129\municipality-surplus_20190129\企業活動_企業情報_黒字赤字企業比率_都道府県_大分類.csv"

$t=$t.Replace('X,X','0,0') |ConvertFrom-Csv |

Group-Object 集計年,産業大分類CD,産業大分類名

$t |%{$_.name;

$_.group |Measure-Object -av 黒字企業割合 |select property,average } |FL

2012, A, 農業,林業

Property : 黒字企業割合

Average : 0.643787234042553

2012, B, 漁業

Property : 黒字企業割合

Average : 0.601744680851064

:

:

2016, P, 医療,福祉

Property : 黒字企業割合

Average : 0.819489361702128

2016, Q, 複合サービス事業

Property : 黒字企業割合

Average : 0.864553191489361

2016, R, サービス業(他に分類されないもの)

Property : 黒字企業割合

Average : 0.776872340425532

入力オブジェクト "X" とは何のこっちゃと思いましたが、

元ネタのCSV上で対象になるデータが無いと『X,X』で表示されるようです。

そのため、Get-Content と Replaceメソッドを使って『X,X』を『0,0』に置き換えた上で

集計年,大分類 によるグルーピングをしてみました

ではまた;