我有以下数据框:
df = pd.DataFrame()
df['id'] = [1, 2, 3, 4]
df['col1'] = [10, 10, 20, 20]
df['col2'] = [100, 200, 50, 50]
从此数据帧中,我想返回数据帧中col1中的值可以在col2中具有multiple values的部分。在这种情况下,id'1'和id'2'在col1中的值均为10,并且在col2中也应具有相同的值。这些ID并非如此。值正确匹配的示例是ID为'3'和'4'的值,因为它们的两行都具有对。
数据框中与列的值不匹配的部分。
df = pd.DataFrame()
df['id'] = [1, 2]
df['col1'] = [10, 10]
df['col2'] = [100, 200]
您分组并检查col1中每个值的唯一值数量,如果大于1,则保留该值:
df = df[(df.groupby('col1')['col2'].transform(lambda x: x.nunique()>1))]
print(df)
id col1 col2
1 10 100
2 10 200