最終更新日:2021/8/14

全ての列を対象に、特定の文字が何個あるか調べる方法です。これまでに学んだコードの組み合わせで実現します。
大規模なデータを扱う際に、データの概要を把握する為に用います。

【説明すること】

1. それぞれのカラムに指定した文字が何個あるかカウントする

dfの全ての列に対して、特定の文字が何個含まれているか、個数をカウントする方法です。

1.1 完全一致で数える

for文で、.isin().sum()を使って、


と書きます。
これは、文字列がx(小文字のx)と「一致する」もの、を数えるという事です。
大文字と小文字は区別されます。

例えば、’male’と指定すると’female’は集計の対象外となります。

【ポイント】
.sum()のように、最後に関数をつける書き方は、今後多用します。dfに対して集計をする場合に便利です。

以下のcsvファイルを読み込んでコードの例を挙げます。これは、Kaggleのタイタニックのデータの一部です。

a004_006a.csv

1.2 部分一致で数える

for文で、.contains().sum()を使って、


と書きます。
この場合、全てのカラムについて’x’(小文字のx)を「含む」ものを対象としています。
例えば、’male’を指定すると、’female’も集計の対象となります。

【ポイント】
文字列で、.str.contains()と書く場合、対象のdfのカラムが全て文字列でないとエラーとなります。
例えば、文字列と数値を含むdfを対象にすると、エラーとなります。

以下では、カラムを文字列だけにして、コードを実行した例です。