This post is also available in: English-US (英語)
Python,Numpy,Pandasあたりを使って、機械学習などのデータ分析をやっている際に欠損値を置き換えたい(fillna)というケースでよく遭遇するエラーかと思います。
よく忘れるので、メモとしてサンプルコードを書き留めています。
基本的にはtrain_yとのデータ数が変わらないようにするために、drop でなく fillna を使うのが楽なのではないかと思います。
ただし、データ分析結果に影響するので、fillna で置き換えるデータには注意する必要はあります。
AttributeError: 'numpy.ndarray' object has no attribute 'fillna'
欠損値を前の値で置き換えたい場合
以下は、欠損値を前の値で置き換えたい場合のサンプルコードです。
# 欠損値を前の値で置き換えたい場合 train_X = train_df.fillna(method='ffill').values
欠損値を前の値で置き換えたい場合
以下は、欠損値を後ろの値で置き換えたい場合のサンプルコードです。
# 欠損値を後ろの値で置き換えたい場合 train_X = train_df.fillna(method='bfill').values
欠損値がある列を削除したい場合
以下は、欠損値がある列を削除したい場合のサンプルコードです。
# 欠損値がある列を削除したい場合 train_X = train_df.drop(train_df.columns[np.isnan(train_df).any()], axis=1).values