我有一個包含 3 列的 Pandas 數(shù)據(jù)框:df = pd.DataFrame({'DEST_NAME':['A','A','B','B','C','D','E','E','F'], 'ID':['4624','4625','4624','4625','4625','4625','4624','4625','4625'], 'COUNT':[203,202,100,23,2,200,203,2022,201]}) DEST_NAME ID COUNT0 A 4624 2031 A 4625 2022 B 4624 1003 B 4625 234 C 4625 25 D 4625 2006 E 4624 2037 E 4625 20228 F 4625 2019 D 4625 12510 D 4625 12211 C 4625 3我試圖讓行,其中一個DEST_NAME僅擁有ID的4625,而不是4624。所以基本上排除列中是否DEST_NAME有4624和4625條目ID。所以結(jié)果看起來像: DEST_NAME ID COUNT0 C 4625 21 D 4625 2002 F 4625 2013 D 4625 1254 D 4625 1225 C 4625 3
3 回答

繁星點點滴滴
TA貢獻(xiàn)1803條經(jīng)驗 獲得超3個贊
您可以提取范圍內(nèi)和范圍外的DEST_NAMEs。然后使用pd.Series.isin并結(jié)合您的兩個條件:
ids_inc = df.loc[df['ID'] == '4625', 'DEST_NAME']
ids_exc = df.loc[df['ID'] == '4624', 'DEST_NAME']
res = df[df['DEST_NAME'].isin(ids_inc) & ~df['DEST_NAME'].isin(ids_exc)]
print(res)
COUNT DEST_NAME ID
4 2 C 4625
5 200 D 4625
8 201 F 4625
添加回答
舉報
0/150
提交
取消