我试图通过索引选择来设置数据帧中列的值。在
myindex = (df['city']==old_name) & (df['dt'] >= startDate) & (df['dt'] < endDate)
new_name = 'Boston2
df['proxyCity'].ix[myindex ] = new_name
在上面,我想在myindex中指定proxyCity
列中的值Boston2
在不引入文档中概述的问题的情况下,如何正确地执行我想做的事情。在
这个链接using pandas to select rows conditional on multiple equivalencies中的答案似乎就是我实现它的方式。在
我不知道怎样做才是正确的。在
您可以使用
mask
为了避免双重索引,请更改
到
^{pr2}$它更有效(更少的
__getitem__
函数调用),并且在大多数情况下,将消除SettingWithCopyWarning
。在但是请注意,如果
df
是另一个数据帧的子数据帧,则有可能发出SettingWithCopyWarning
即使使用df.loc[...] = new_name
。在这里,Pandas警告说修改df
不会影响其他数据帧。 如果这不是您的意图,那么可以安全地忽略SettingWithCopyWarning
。有关使SettingWithCopyWarning
静音的方法,请参见this post。在相关问题 更多 >
编程相关推荐