首页 > 解决方案 > ValueError:只能比较熊猫中标记相同的系列对象?

问题描述

[示例代码]

d = {
   'country': ['IN', 'USA', 'USA', 'IN'],
   'username': ['abi.g', 'pugal.g', 'jan.g', 'jacob.h'],
   'email': ['abi@gmail.com', 'pugal.g@yahoo.in', 'jan232@gmail.com', 'jacob@hoi.com'],
   'ClusterID': ['', '4', '5', '9']
}
df1 = pd.DataFrame(d)

data = [
   ['USA', 3490.89, 'qcx_taskid85_duns250437449', '3'], 
   ['JA', 1211, 'Pugal Gandi', '4'], 
   ['USA', 3455.00, 'Janani Khannan', '6']
]
df2 = pd.DataFrame(data, columns=['country', 'salary', 'name', 'ClusterID'])

df1.reset_index(inplace=True, drop=True)
df2.reset_index(inplace=True, drop=True)
df1.loc[df1['ClusterID'] == df2['ClusterID']]

在此处输入图像描述 在此处输入图像描述

Qns:如何使用 .loc 比较/过滤两列,而没有。大熊猫的记录不同?

谢谢,

标签: pythonpandas

解决方案


试试这个>>

df1.loc[df1['ClusterID'].isin(df2['ClusterID'])]

df1['ClusterID']&都是df2['ClusterID']系列。在方法中使两个系列相等loc将引发异常。相反,调用isin方法将给出bool输出,因此对于所有True值,您将使用方法获得相应的输出loc


推荐阅读