カテゴリー
【Awkでデータ解析のすゝめ】CSVデータで重複しているセル要素を見つける/カウントする
※ 当ページには【広告/PR】を含む場合があります。
2021/02/19
2022/09/30
AwkをつかってCsvでやりたかったこと
[1,2,3,4,5,6,7,8]
2,2,2,3
1,3,3,6
4,2,8,4
3,1,2,2
重複有り・無しを判別させる
RAW_DATASET
$ RAW_DATASET=$(cat <<EOF
2,2,2,3
1,3,3,6
4,2,8,4
3,1,2,2
EOF
)
$ echo "$RAW_DATASET" | awk -F"," '
{
for (i=1; i<=NF; i++) {
print !label[$i]++;
}
}
'
#👇出力
1
0
0
1
1
0
0
1
1
0
1
0
0
0
0
0
NF
$1, $2, ..., $NF
$i
label[$i]
$i
++
!
1
0
$ echo "$RAW_DATASET" | awk -F"," '{
for (i=1; i<=NF; i++) {
if (!label[$i]++) {print $i;}
}
}'
#👇出力
2
3
1
6
4
8
重複要素のカウント
$ echo "$RAW_DATASET" | awk -F"," '
{
for (i=1; i<=NF; i++) { label[$i]++; }
}
END {
for(j in label) {
print j "は" label[j] "回でました";
}
}
'
#👇出力
1は2回でました
2は6回でました
3は4回でました
4は2回でました
6は1回でました
8は1回でました
label
END
for ... in
[1,2,3,4,5,6,7,8]
$ echo "$RAW_DATASET" | awk -F"," '
{
for (i=1; i<=NF; i++) { label[$i]++; }
}
END {
for(j=1; j<=8 ;j++) {
if(!label[j]) {
print j "は出ませんでした...";
}
}
}
'
#👇出力
5は出ませんでした...
7は出ませんでした...
まとめ
記事を書いた人
ナンデモ系エンジニア
主にAngularでフロントエンド開発することが多いです。 開発環境はLinuxメインで進めているので、シェルコマンドも多用しております。 コツコツとプログラミングするのが好きな人間です。
カテゴリー