首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在pandas中更新多行和多列?

问如何在pandas中更新多行和多列?
EN

Stack Overflow用户
提问于 2019-09-01 19:23:07
回答 1查看 3.2K关注 0票数 0

我想使用pandas更新CSV文件中的多行和多列。

我尝试过使用iterrows()方法,但它只适用于单个列。

下面是我想要应用于多行和多列的逻辑:

代码语言:javascript
复制
if(value < mean):
  value += std_dev
else:
  value -= std_dev
EN

回答 1

Stack Overflow用户

发布于 2019-09-01 19:36:29

这是另一种方法,

考虑一下你的数据是这样的:

代码语言:javascript
复制
  price strings value
0     1       A     a
1     2       B     b
2     3       C     c
3     4       D     d
4     5       E     f

现在让我们将strings列作为索引:

代码语言:javascript
复制
df.set_index('strings', inplace='True')

#Result
        price value
strings
A           1     a
B           2     b
C           3     c
D           4     d
E           5     f

现在将行C, D, E的值设置为0

代码语言:javascript
复制
df.loc[['C', 'D','E']] = 0

#Result
        price value
strings
A           1     a
B           2     b
C           0     0
D           0     0
E           0     0

或者你可以做得更精确

代码语言:javascript
复制
df.loc[df.strings.isin(["C", "D", "E"]), df.columns.difference(["strings"])] = 0
df
Out[82]: 
  price strings value
0     1       A     a
1     2       B     b
2     0       C     0
3     0       D     0
4     0       E     0
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57745575

复制
相关文章

相似问题

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