2017-02-17 22 views
1

でテキストを置き換えこれは、データフレームのサブセットです:ExcelでNan値と空白セルを "0"に置き換えます。私のコードはまた、「0」

id  sentence     ADR  WD 
1   really bad symptoms  1   
2   did not help    NAN  1 

私は"nan" values and "blank cells" with "0"出力は、次のようにする必要があり交換する必要があります。

id  sentence     ADR  WD 
1   really bad symptoms  1  0 
2   did not help    0  1 

これは私のコードです:

df_M = df_M.replace(r'\s+', np.nan, regex=True).fillna(0) 

しかし、問題はコードも "0" との文章を置き換えていることです。これはコードの出力です:

id  sentence     ADR  WD 
1   0       1  0 
2   0       0  1 

どのように修正できますか?二段階で

+1

空想になりたい場合は?スペース? –

+0

文章を保存したい場合は正規表現を 'r '^ \ s + $''に変更してください。部分一致を置き換えることはありません。 –

答えて

1

、「」=「空白」と仮定すると:

foo = pd.DataFrame([['asdf',1,''],['fdsa',np.nan,1]]) 
foo.replace(np.nan,0) 
foo.replace('',0) 

または1つのステップであなたは空白のセルで実際に何が

foo.fillna(0).replace('',0) 
+0

ありがとうございます。このソリューションには問題があります。空白のセルの一部を認識できません。だから私は空白のセルを見つけるために "r '\ s +'"を使う方が良いと思ったのです。しかし、それは問題を知っていた。あなたのコードが空白のセルのいくつかを認識して、それを0に置き換えることができない理由を知っていますか? – Mary

関連する問題