前提
データフレームの中のすべてのカラムに対して、
空文字やnull値をチェックする関数を作りたいと考えております。
実現したいこと
- データフレームを入力とする
- 全てのカラムに対して、空文字の数、null値の数、データ型を出力する
- 計算した結果を表形式で出力する
現状のコード
そこで現状このようなコードを書いております。
def check_null_empty_string(df): dfx = pd.DataFrame() for column in df.columns: dfx[column] = (df[column] == '').sum() dfx[column] = (df[column] == '').sum() dfx[column] = (df[column] == "").sum() dfx[column] = df[column].isnull().sum()
現状の問題点と悩み
しかし上記のコードを実行すると、
TypeError: an integer is required (got type str)
「文字型に適応していない」というエラーがでてしまいます。
となると、データ型に合わせて条件分岐をした上で、
上記の様な処理を記述していくのが一般的なのでしょうか。
ただそうなると、str型、int型、float型などなど様々なデータ型が存在するため、どこまで条件分岐を記述する必要が出てくるのか、そもそも.sum()と記述する文が同じ形が続いてるため、for文に書き直したほうが良いのか、しかしそうなると、二重for文になってしまい、良くない形ではないのか。。。
など一人では考えが堂々巡りしてしまい、立ち行かなくなってしまったので、
ご質問させていただきました。何かヒントになる考え方、コード例など何でも結構ですのでご回答いただけますと嬉しいです。
何卒よろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
python 3.8
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。