2016-05-02 8 views
5

NaNでいくつかのレコードを取り除きたいと思います。これは完全に動作します:1つの値がNaNの場合、Pandasは行内のすべてのアイテムをNaNに置き換えます。

df.dropna(axis=0, how='any',inplace=True) 

しかし、それは私のデータフレームの形を変え、インデックスはもはや均一な間隔ではありません。したがって、これらの行のすべてのアイテムをnp.nanに置き換えたいと思います。これを行う簡単な方法はありますか?

私はdropnaの後にデータフレームを再サンプリングすることを考えていましたが、それは所定の間隔でしか動作しないようですが、元のインデックスを使用します。もう1つのアプローチは、iterrowsでデータフレームをループすることですが、それも面倒です。

+0

問題がインデックスの変更であれば、それを正しくリセットするだけですか? df = df.reset_index(drop = True) – ysearka

答えて

2

以下のコマンドは、値がNanのすべての行を選択し、残りの行にNaNを割り当てます。

df.loc[df.isnull().any(axis=1), :] = np.nan 
関連する問題