Pandas データフレーム内の列のサブセットのみに、none 値を 0 で埋めようとしています。
私がする時:
import pandas as pd
df = pd.DataFrame(data={'a':[1,2,3,None],'b':[4,5,None,6],'c':[None,None,7,8]})
print df
df.fillna(value=0, inplace=True)
print df
出力:
a b c
0 1.0 4.0 NaN
1 2.0 5.0 NaN
2 3.0 NaN 7.0
3 NaN 6.0 8.0
a b c
0 1.0 4.0 0.0
1 2.0 5.0 0.0
2 3.0 0.0 7.0
3 0.0 6.0 8.0
None
すべての を に置き換えます0
。 私がやりたいのは、None
列の とa
のみを置き換えb
、 は置き換えないことですc
。
これを行う最善の方法は何ですか?
ベストアンサー1
必要な列を選択し、割り当てによって実行できます。
df[['a', 'b']] = df[['a','b']].fillna(value=0)
結果の出力は予想どおりです。
a b c
0 1.0 4.0 NaN
1 2.0 5.0 NaN
2 3.0 0.0 7.0
3 0.0 6.0 8.0