2017-06-10 16 views
-2

'nan'を含む行または列全体を削除しないように 'nan'のみをデータセットから削除する方法はありますか?私はコードの下で試しましたが、結果は私が望むものではありませんでした。ここで データフレーム内の 'NaN'値を削除する

df = pd.read_csv('...csv') 
df.stack() 

は、CSV

enter image description here

の一部であり、ここでヘッダは、実際のデータと混同されている

enter image description here

'.STACK()' の後にあります。私は混乱したくない!

+0

場合は、あなたのデータフレームからのNaN要素を除去する目的は何ができますか?いくつかのタイプの統計(平均、標準偏差など)を計算することですか? –

答えて

0

あなたは使用することができます。

df.fillna('') 

空の文字列 '' とnaを記入しますどの。またはあなたが好きなものを記入することができます。

0

dropnaを条件とする。

ナノボール自体はそれ自体ではありません。


あなたは、使用して

列の列または行をドロップすることができます。del df.column_name

行:df.drop([row_index])

0

は、データフレームdf

df = pd.DataFrame(np.arange(9).reshape(3, 3)) 
df.iloc[1, 1] = np.nan 
print(df) 

    0 1 2 
0 0 1.0 2 
1 3 NaN 5 
2 6 7.0 8 
0123を検討します

ちょうど真ん中のセルをドロップするだけで、我々stack

df.stack() 

0 0 0.0 
    1 1.0 
    2 2.0 
1 0 3.0 
    2 5.0 
2 0 6.0 
    1 7.0 
    2 8.0 
dtype: float64 
+0

は機能しません!私はヘッダーを持っています。私はそれをシリーズに変換するとき、私はそれをデータフレームに変換し直す必要があり、問題は変換後にヘッダが他のデータと混ざり合ってしまうことです。 – user8034918

+0

それは動作します。私はそれが実証しました。問題は、あなたが望むものを見せてくれなかったことです。あなたの心の中で、行を落とさずにNAを落とすのはどうですか? – piRSquared

+0

あなたは最初のコードをもう一度チェックして、stack()を適用した後に私が話している問題の種類を知ることができます。 – user8034918

関連する問題