df: make country other_columns salehonda tokyo data 1honda hirosima data 0toyota tokyo data 1toyota hirosima data 0suzuki tokyo data 0suzuki hirosima data 0ferrari tokyo data 1ferrari hirosima data 0nissan tokyo data 1nissan hirosima data 0條件:保持具有1,0的貨幣對期望的輸出make country other_columns salehonda tokyo data 1honda hirosima data 0toyota tokyo data 1toyota hirosima data 0ferrari tokyo data 1ferrari hirosima data 0nissan tokyo data 1nissan hirosima data 0我嘗試了什么(這顯然不起作用)outdf = df.groupby('sale').filter(lambda x: x > 0)我應該將兩個列都分組嗎(“ sale”和“ make”)?
2 回答

慕無忌1623718
TA貢獻1744條經驗 獲得超4個贊
這是使用groupby+的解決方案set。這應該是可擴展的,不需要訂購:
s = df.groupby('make')['sale'].apply(set)
res = df[df['make'].map(s) >= {0, 1}]
print(res)
make country other_columns sale
0 honda tokyo data 1
1 honda hirosima data 0
2 toyota tokyo data 1
3 toyota hirosima data 0
6 ferrari tokyo data 1
7 ferrari hirosima data 0
8 nissan tokyo data 1
9 nissan hirosima data 0
添加回答
舉報
0/150
提交
取消