首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >比较两个不同pandas列中的值

比较两个不同pandas列中的值
EN

Stack Overflow用户
提问于 2020-02-07 03:54:13
回答 3查看 123关注 0票数 0

我有一个数据帧,看起来像这样:

代码语言:javascript
复制
Fruit   Cost    Quantity    Fruit_Copy
Apple   0.5 6   Watermelon
Orange  0.3 2   Orange
Apple   0.5 8   Apple
Apple   0.5 7   Apple
Banana  0.25    8   Banana
Banana  0.25    7   Banana
Apple   0.5 6   Apple
Apple   0.5 3   Apple

我想要编写一个代码片段,在pandas中比较Fruit和Match,并输出一个新的列"Match“,该列指示Fruit = Fruit_Copy中的值。

提前感谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-02-07 04:02:14

像这样的东西会起作用的。

代码语言:javascript
复制
df.loc[df['Fruit'] == df['Fruit_Copy'], 'Match'] = 'Yes'

使用numpy.where:

代码语言:javascript
复制
df['Match'] = np.where(df['Fruit'] == df['Fruit_Copy'], 'Yes', 'No')
票数 1
EN

Stack Overflow用户

发布于 2020-02-07 05:01:46

假设你的数据帧是“水果”。然后你可以使用熊猫系列等于函数pd.Series.eq as,

代码语言:javascript
复制
fruits['Match'] = pd.Series.eq(fruits['Fruit'],fruits['Fruit_Copy'])
票数 2
EN

Stack Overflow用户

发布于 2020-02-07 04:09:19

您可以尝试如下所示:

代码语言:javascript
复制
import pandas as pd
import numpy as np

fruits = pd.DataFrame({'Fruit':['Apple', 'Orange', 'Apple', 'Apple', 'Banana', 'Banana', 'Apple', 'Apple'], 'Cost':[0.5,0.3,0.5,0.5,0.25,0.25,0.5,0.5], 'Quantity':[6,2,8,7,8,7,6,3], 'Fruit_Copy':['Watermelon', 'Orange', 'Apple', 'Apple', 'Banana', 'Banana', 'Apple', 'Apple']})
fruits['Match'] = np.where(fruits['Fruit'] == fruits['Fruit_Copy'], 1, 0)
fruits

    Fruit  Cost  Quantity  Fruit_Copy  Match
0   Apple  0.50         6  Watermelon      0
1  Orange  0.30         2      Orange      1
2   Apple  0.50         8       Apple      1
3   Apple  0.50         7       Apple      1
4  Banana  0.25         8      Banana      1
5  Banana  0.25         7      Banana      1
6   Apple  0.50         6       Apple      1
7   Apple  0.50         3       Apple      1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60102571

复制
相关文章

相似问题

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