前提・実現したいこと
以下のようなDataFrameにおいて、Precipitation列に存在する欠損値を処理しようとしています。欠損値は統一された表記がなされておらず、「NaN」「-9999」「欠測」「欠損」のように様々です。
このように統一性の無い欠損値を上手く処理する方法はないでしょうか?
最終的には線形補間を行いたいと考えています。
python
1df.head() 2 3# datetime Precipitation 4#2012-07-01 01:00:00 0.0 5#2012-07-01 02:00:00 0.0 6#2012-07-01 03:00:00 0.0 7#2012-07-01 04:00:00 1.0 8#2012-07-01 05:00:00 0.0
python
1df.dtypes 2 3#Precipitation object 4#dtype: object
経緯
そもそもPrecipitation列をfloat型に変換しようとしたところ、
python
1df['Precipitation'] = df['Precipitation'].apply(lambda x: x.astype('float64')) 2 3#ValueError: could not convert string to float: '\u3000\u3000\u3000欠測'
このようなエラーが発生してしまい、元のデータを確認してみたら様々な形式の欠損値が判明したというのが現在までの経緯です。replaceで全てのパターンを置換するという力業でなんとかしている状態なので、もっとスマートな方法が無いものかと考えています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/24 13:50