我有一个数据帧,其中 column_1
中的某些条目具有 NaN
值。我想将它们替换为 column_2
中的相应值。两列都保存 float64
值。
我尝试了以下操作,但奇怪的是它没有更新值。
ix = np.isnan(mydf.loc[:,'column_1'])
mydf[ix]['column_1'] = tchart[ix]['column_2']
真的很奇怪,因为我可以完全看到:
mydf[ix]['column_1']
是具有 NaN 值的序列
还有那个
mydf[ix]['column_2']
具有有效值。
为什么不起作用?
我什至做不到:
mydf[ix]['column_1'] = 45
最佳答案
这是链式索引的示例。对于获取值来说,这通常是可以的;但是,对于设置值,它可能或可能不起作用,因为您可能尝试在副本上设置值。最好通过索引器 ix/loc
进行多维设置。
在此示例中,使用 mydf.loc[ix,'columns_1'] = 45
参见here以获得更完整的解释。
关于python - 无法更新 DataFrame 中的特定条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19552248/