当两个数据框具有不同数量的条目(值匹配但索引不匹配)时如何使用DataFrame.isin?

问题描述 投票:0回答:1

我有两个数据帧(df1和df2)。它们都具有“类ID”列,df1具有66,000个条目,而df2具有60,000个条目。我想检查df2中的所有Class ID值都属于df1。类ID值不是唯一的(还有其他一些列)。

我正在使用此代码:

print(df1['Class ID'].isin(df2['Class ID']).value_counts())

这给出结果:

True  59,800
False 200

但是,我提取了所有标为“ False”的类ID,并将它们与bash中的vimdiff进行了比较。在df2中存在所有标为“ False”的类ID。我在Pandas文档中阅读过,即要求索引和列标签都匹配。由于两个数据帧中条目的数量不同,因此索引不匹配,这就是显示此结果的原因。如何解决这个问题?还有其他有效的方法吗?

python pandas
1个回答
0
投票

您为什么不将他们加入“班级ID”列。这是实现您要达到的目标的更好的方法。看一下这个。https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.join.html

© www.soinside.com 2019 - 2024. All rights reserved.