首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >pandas奇特的索引和合并

pandas奇特的索引和合并
EN

Stack Overflow用户
提问于 2013-01-13 00:51:07
回答 1查看 306关注 0票数 4

在通过花哨的索引过滤后,将更改合并回pandas数据帧的最简单方法是什么?

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

代码语言:javascript
运行
复制
d = pd.DataFrame({'x':range(10), 'y':range(11,21)})
d[d.x % 2 == 0]['y'] = 0

“奇特的索引”布尔查询复制了数据帧,因此更改永远不会传播回原始数据帧。有没有更好的方法来执行这个操作?

我目前的解决方案是定义一个临时的dataframe w,基于花哨的布尔索引,将'y‘中的相应值设置为w中的0,然后使用索引将w合并回d。必须有一种更有效的(希望是更直接的)方法来做这件事:

代码语言:javascript
运行
复制
w = d[d.x % 2 == 0]
w.y = 0
EN

回答 1

Stack Overflow用户

发布于 2013-01-13 01:02:22

使用DataFrame.ix[]:

代码语言:javascript
运行
复制
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
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14295531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档