我有两个数据帧(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文档中阅读过,即要求索引和列标签都匹配。由于两个数据帧中条目的数量不同,因此索引不匹配,这就是显示此结果的原因。如何解决这个问题?还有其他有效的方法吗?
您为什么不将他们加入“班级ID”列。这是实现您要达到的目标的更好的方法。看一下这个。https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.join.html