gpt4 book ai didi

python - 如何使用 Pandas 打印两列的差异?

转载 作者:行者123 更新时间:2023-11-28 17:16:33 25 4
gpt4 key购买 nike

我有两个数据集

1 设置它有一个包含电子邮件地址列表的列:

DF1

Email
xxxx@abc.gov
xxxx@abc.gov
xxxx@abc.gov
xxxx@abc.gov
xxxx@abc.gov

第二个 csv数据框2

Email
xxxx@abc.gov
xxxx@abc.gov
xxxx@abc.gov
xxxx@abc.gov
dddd@abc.com
dddd@abc.com
3333@abc.com

import pandas as pd

SansList = r'C:\\Sans compare\\SansList.csv'
AllUsers = r'C:\\Sans compare\\AllUser.csv'

## print Name column only and turn into data sets from CSV ##
df1 = pd.read_csv(SansList, usecols=[0])

df2 = pd.read_csv(AllUsers, usecols=[2])

**print(df1['Email'].isin(df2)==False)**

我想要的结果是,

Dataframe3
dddd@abc.com
dddd@abc.com
3333@abc.com

不太确定如何修复我的数据集...:(

最佳答案

选项 1
是在

df2[~df2.Email.isin(df1.Email)]

Email
4 dddd@abc.com
5 dddd@abc.com
6 3333@abc.com

选项 2
查询

df2.query('Email not in @df1.Email')

Email
4 dddd@abc.com
5 dddd@abc.com
6 3333@abc.com

选项 3
合并

pd.DataFrame.mergeindicator=True,使您能够查看该行来自哪个数据框。然后我们可以对其进行过滤。

df2.merge(
df1, 'outer', indicator=True
).query('_merge == "left_only"').drop('_merge', 1)

Email
20 dddd@abc.com
21 dddd@abc.com
22 3333@abc.com

关于python - 如何使用 Pandas 打印两列的差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43814677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com