A B C D
0 Red 10.0 11.5 12.0
1 Red 10.5 11.5 12.0
2 Red 11.0 11.5 12.0
3 Red 12.0 11.5 12.0
4 White 10.0 10.5 11.0
5 White 10.5 10.5 11.0
6 White 11.0 10.5 11.0
7 White 12.0 10.5 11.0
我想用下一个条件创建一个新的df1:
每个A组(“红色”和“白色”):
我的意思是,新的df1应该是:
A B C D
3 Red 12.0 11.5 12.0
5 White 10.5 10.5 11.0
答案 0 :(得分:4)
您可以boolean indexing
使用concat
,然后使用drop_duplicates
,默认排序添加sort_index
:
m1 = df['B'] == df['C']
m2 = df['B'] == df['D']
df = pd.concat([df[m1], df[m2]]).drop_duplicates('A').sort_index()
print (df)
A B C D
3 Red 12.0 11.5 12.0
5 White 10.5 10.5 11.0