pandasでdropnaを使ってNANを削除できない 質問する

pandasでdropnaを使ってNANを削除できない 質問する

pandasをpdとしてインポートし、以下のコードを実行すると、次の結果が得られます。

コード:

traindataset = pd.read_csv('/Users/train.csv')
print traindataset.dtypes
print traindataset.shape
print traindataset.iloc[25,3]
traindataset.dropna(how='any')
print traindataset.iloc[25,3]
print traindataset.shape

出力

TripType                   int64  
VisitNumber                int64  
Weekday                   object  
Upc                      float64  
ScanCount                  int64  
DepartmentDescription     object  
FinelineNumber           float64  
dtype: object

(647054, 7)

nan  
nan

(647054, 7) 
[Finished in 2.2s]

結果から、行番号は変更されず、データフレームに NAN が残っているため、dropna 行は機能しません。どうしてそうなるのでしょうか? 私は今、頭がおかしくなりそうです。

ベストアンサー1

読む必要があるドキュメント(強調追加):

戻る指定された軸上のラベルを持つオブジェクトは省略されます

dropna 戻り値1つの新しいDataFrame。既存の DataFrame を変更したい場合は、ドキュメントをさらに読むだけです。

所定の位置に: ブール値、デフォルトは False

True の場合、インプレースで操作を実行し、None を返します。

したがって、それをその場で変更するには、 を実行しますtraindataset.dropna(how='any', inplace=True)

おすすめ記事