我想从数据帧中的每个子群中删除满足某些条件的行。子组根据两列进行分组
Days
&
ID
,这是我的数据框架:
df = pd.DataFrame({'Days':[5,5,5,5,6,6],
'ID':['A11','A11','A11','A11','B12','B12'],
'Country':['DE','DE','FR','US','US','US'],
'Car1':['BMW','Volvo','Audi','BMW','Mercedes','BMW'],
'Car2':['Volvo','Mercedes','BMW','Volvo','Volvo','Volvo'],
'Car3':['Mercedes',nan,'Volvo',nan,nan,nan]},
)
Days ID Country Car1 Car2 Car3
0 5 A11 DE BMW Volvo Mercedes
1 5 A11 DE Volvo Mercedes nan
2 5 A11 FR Audi BMW Volvo
3 5 A11 US BMW Volvo nan
4 6 B12 US Mercedes Volvo nan
5 6 B12 US BMW Volvo nan
我想从满足以下三个条件的每组中删除行:
1. Car3=nan
2. Car1=Car2 (from another row within the group)
3. Car2=Car3 (from another row within the group)
我想要的预期数据帧:
Days ID Country Car1 Car2 Car3
0 5 A11 DE BMW Volvo Mercedes
1 5 A11 FR Audi BMW Volvo
2 6 B12 US Mercedes Volvo nan
3 6 B12 US BMW Volvo nan