pythonでカンマ入りの数値の修正

pythonのデータ解析をやっていた時

ValueError: Input contains NaN, infinity or a value too large for dtype('float64').

のエラーがでたので、

np.where( np.isnan(X) )

ひとまずNaNの場所を確認。値を参照したところ、数値データのハズなのにカンマ入りだったために文字列として認識されていたようです。もとのエクセルデータでそういった風に入力してしまったようで、さもありなん。

df['〇〇〇'] = np.array( [ float( i.replace(',','') ) if type(i) is str else i for i in df['〇〇〇'] ] )

リスト内包表記のifを使って修正。

参考にしました

qiita.com

Pythonで文字列を検索(〜を含むか判定、位置取得、カウント) | note.nkmk.me

Pythonリスト内包表記の使い方 | note.nkmk.me