1. ホーム
  2. パイソン

[解決済み】NaNを含むPandasカラムを `int` 型に変換する

2022-04-14 20:46:44

質問

.csvファイルからPandasのdataframeに以下のようにデータを読み込みました。列の1つ、すなわち id として、列の種類を指定したい。 int . 問題は id シリーズには、欠落している値や空白の値があります。

をキャストしようとすると id カラムを整数に変換して.csvを読み込むと、次のようになります。

df= pd.read_csv("data.csv", dtype={'id': int}) 
error: Integer column has NA values

あるいは、以下のように読み込んでから列の型を変換してみましたが、今度はこうなります。

df= pd.read_csv("data.csv") 
df[['id']] = df[['id']].astype(int)
error: Cannot convert NA to integer

どのように取り組めばいいのでしょうか?

解決方法は?

整数の列でNaNレップがないのは pandas "gotcha"。 .

通常の回避策は、単純にfloatを使用することです。