Python 在数据框的几列上填充na
我有一个Pandas数据框,我只想在几个列(而不是所有列)上用0填充Na,我的实际DF更大,我希望填充两个以上的列 因此: 给出:Python 在数据框的几列上填充na,python,pandas,Python,Pandas,我有一个Pandas数据框,我只想在几个列(而不是所有列)上用0填充Na,我的实际DF更大,我希望填充两个以上的列 因此: 给出: home_land_value est_cur_home_value 0 47000 119485 1 46000 184864 2 0 NaN 3 13000 106929 4 0 0 但这不会产生错误,但不会更改列: comb[['est_cur_home_value','home_yr_built']
home_land_value est_cur_home_value
0 47000 119485
1 46000 184864
2 0 NaN
3 13000 106929
4 0 0
但这不会产生错误,但不会更改列:
comb[['est_cur_home_value','home_yr_built']].fillna(0, inplace=True)
如果我只选择一列,我可以让它工作
comb['home_yr_built'].fillna(0, inplace=True)
这将提供回溯(关键错误):
我错过了什么?试试:
comb[['home_yr_built','est_cur_home_value']] =
comb[['home_yr_built','est_cur_home_value']].fillna(0, inplace=False)
frame[colname]
返回序列,frame[[colname]]
返回副本。您可以通过比较id(df['col']]
和id(df['col']])
来检查它。很有趣,谢谢您,但仍然不知道如何解决将fillna应用到DataFrames的几列应该是inplace=False
可能?谢谢您的捕获,in place
应该是假的哦,但是这个太大了,所以我真的需要它在place!不管这个答案如何使用更多的上下文和/或解释,它确实起作用。
comb['home_yr_built','est_cur_home_value'].fillna(0, inplace=True)
comb[['home_yr_built','est_cur_home_value']] =
comb[['home_yr_built','est_cur_home_value']].fillna(0, inplace=False)