首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新熊猫资料

更新熊猫资料
EN

Stack Overflow用户
提问于 2018-07-07 10:31:48
回答 2查看 87关注 0票数 2

我有一个包含多个列的熊猫数据,我必须根据条件用truefalse更新一个列。例如,列名为priceresult,如果price列的值为promotion,则结果列应更新为true或Otherfalse

请帮我处理这个。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-07 10:45:25

鉴于此,df:

代码语言:javascript
复制
       price  result
0  promotion       0
1          1       0
2          4       0
3          3       0

你可以这样做:

代码语言:javascript
复制
df['result'] = np.where(df['price'] == 'promotion', True, False)

输出:

代码语言:javascript
复制
      price  result
0  promotion    True
1          1   False
2          4   False
3          3   False
票数 0
EN

Stack Overflow用户

发布于 2018-07-07 11:23:36

让我们假设dataframe如下所示:

代码语言:javascript
复制
    price     result
0   0          False
1   1          False
2   2          False
3   promotion  False
4   3          False
5   promotion  False

您可以创建两个布尔数组。第一个值在要在结果列中设置'True‘值的索引处具有'True’值,而第二个则在要在结果列中设置'False‘值的索引处具有'True’值。以下是代码:

代码语言:javascript
复制
index_true = (df['price'] == 'promotion')
index_false = (df['price'] != 'promotion')

df.loc[index_true, 'result'] = True
df.loc[index_false, 'result'] = False

生成的dataframe如下所示:

代码语言:javascript
复制
    price   result
0   0        False
1   1        False
2   2        False
3   promotion   True
4   3        False
5   promotion   True
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51222282

复制
相关文章

相似问题

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