Python 无法更新数据帧中的特定条目

Python 无法更新数据帧中的特定条目,python,pandas,Python,Pandas,我有一个数据框,其中column_1中的一些条目具有NaN值。我想用列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'] 具有有

我有一个数据框,其中
column_1
中的一些条目具有
NaN
值。我想用
列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


有关更完整的解释,请参阅。

这是链接索引的一个示例。对于获取值,这通常是可以的;但是,对于设置值,可能可能无法工作,因为您可能试图在副本上设置值。对于多维设置,最好通过索引器
ix/loc
进行设置

在本例中,使用
mydf.loc[ix,'columns_1']=45


有关更完整的解释,请参阅。

您正在修改副本,请参阅,使用
mydf.loc[ix,'columns_1']=value
感谢@Jeff修复了它。我已经和熊猫一起工作了几个月了,这让我大吃一惊。如果您将其作为答案,我将接受。如果您正在修改副本,请参阅,使用
mydf.loc[ix,'columns_1']=value
谢谢@Jeff修复了它。我已经和熊猫一起工作了几个月了,这让我大吃一惊。如果你写下来作为答复,我会接受的。