1

我有一个数据框,其中一些条目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
4

1 回答 1

1

这是链式索引的一个示例。对于获取值,这通常是可以的;但是对于设置值,它可能会可能不会起作用,因为您可能正在尝试在副本上设置值。最好通过索引器ix/loc进行多维设置。

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

有关更完整的说明,请参见此处。

于 2013-10-23T23:19:53.950 回答