excel - 使用熊猫将一列值与另一列的所有值进行比较
问题描述
我有一个包含以下值的 excel 文件
我需要将a_id
value 与 的所有值进行比较b_id
,如果匹配,我必须将 的值更新a_flag
为1
else 0
。
例如取a_tag
ie 中的第一个值;123
然后比较 的所有值b_id(113,211,222,123)
。当它到达时123
,b_id
我们可以看到它匹配。所以我们将更新a_flag
as的值1
。
就像那样取 的所有值a_id
并与 的所有值进行比较b_id
。因此,在完成所有操作后,我们将在列中1
或列中获得价值。0
a_flag
完成后,我们将取第一个值,b_id
然后与列中的所有值进行比较a_id
并相应地更新b_flag
列。
最后我将有以下数据。
我需要使用熊猫,因为我正在处理大量数据。以下是我的发现,但它仅与 的第一个值进行比较b_id
。例如,它将123
(a_id
第一个值)与113
仅(b_id
第一个值)进行比较。
import pandas as pd
df1 = pd.read_excel('system_data.xlsx')
df1['a_flag'] = (df3['a_id'] == df3['b_id']).astype(int)
解决方案
用于Series.isin
测试成员资格:
df1['a_flag'] = df3['a_id'].isin(df3['b_id']).astype(int)
df1['b_flag'] = df3['b_id'].isin(df3['a_id']).astype(int)
推荐阅读
- angular - 角度,ng-zorro:对象作为标签
- python-3.x - 为什么我的网络返回一个大于输出空间长度的整数
- javascript - 构造函数式银行余额工具
- php - 在 PHP (HTML) 中导航并将值传递到另一个页面
- c++ - C++ 中的别名声明
- swiftui - SwiftUI 的间距问题
- hadoop - Google Cloud 上的 YARN Giraph 应用程序 - 找不到胖罐子
- php - json - 如何从用户输入将出现在 %s 的 json 中获取数据
- python-3.x - 二叉搜索树的节点计数器
- ajax - 对 PartialViewResult 的 Ajax 调用不会将 Div 替换为 PartialView