Python 索引和合并返回

Python 索引和合并返回,python,pandas,Python,Pandas,通过奇特的索引过滤后,将更改合并回数据帧的最简单方法是什么 例如,定义一个包含两列x和y的数据帧,并选择x为偶数整数的所有行,然后将y中的相应值设置为0 d = pd.DataFrame({'x':range(10), 'y':range(11,21)}) d[d.x % 2 == 0]['y'] = 0 “奇特的索引”布尔查询生成数据帧的副本,因此更改永远不会传播回原始数据帧。是否有更好的方法执行此操作 我目前的解决方案是基于奇特的布尔索引定义一个临时数据帧w,在w中将“y”中的相应值设置为

通过奇特的索引过滤后,将更改合并回数据帧的最简单方法是什么

例如,定义一个包含两列x和y的数据帧,并选择x为偶数整数的所有行,然后将y中的相应值设置为0

d = pd.DataFrame({'x':range(10), 'y':range(11,21)})
d[d.x % 2 == 0]['y'] = 0
“奇特的索引”布尔查询生成数据帧的副本,因此更改永远不会传播回原始数据帧。是否有更好的方法执行此操作

我目前的解决方案是基于奇特的布尔索引定义一个临时数据帧w,在w中将“y”中的相应值设置为0,然后使用索引将w合并回d。必须有一种更有效(并且希望更直接)的方法来做到这一点:

w = d[d.x % 2 == 0]
w.y = 0
使用DataFrame.ix[]:

In [21]: d
Out[21]: 
   x   y
0  0  11
1  1  12
2  2  13

In [22]: d.ix[d.x % 2 == 0, 'y'] = -5

In [23]: d
Out[23]: 
   x   y
0  0  -5
1  1  12
2  2  -5