亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Pandas 只選擇列中唯一字符串在另一列中只有一個特定字符串的行

Pandas 只選擇列中唯一字符串在另一列中只有一個特定字符串的行

慕桂英546537 2021-10-26 10:41:22
我有一個包含 3 列的 Pandas 數據框: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。所以結果看起來像:    DEST_NAME   ID      COUNT0   C           4625    21   D           4625    2002   F           4625    2013   D           4625    1254   D           4625    1225   C           4625    3
查看完整描述

3 回答

?
繁星點點滴滴

TA貢獻1803條經驗 獲得超3個贊

您可以提取范圍內和范圍外的DEST_NAMEs。然后使用pd.Series.isin并結合您的兩個條件:


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


查看完整回答
反對 回復 2021-10-26
?
浮云間

TA貢獻1829條經驗 獲得超4個贊

嘗試:

df_filtered = df[df['ID'] == '4625'].copy()


查看完整回答
反對 回復 2021-10-26
  • 3 回答
  • 0 關注
  • 240 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號