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

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

如何查找 A 列中每個值的所有匹配項,該值也在 B 列中

如何查找 A 列中每個值的所有匹配項,該值也在 B 列中

狐的傳說 2021-10-19 10:19:12
使用 Pandas,我試圖在 A 列中找到某個值的最近重疊出現,該值也恰好在 B 列中(盡管不一定出現在同一行中);這將對 A 列中的所有行進行。我已經使用 n^2 解決方案完成了一些接近的事情(通過創建每列的列表并使用嵌套的 for 循環進行迭代),但如果可能的話,我想使用更快的方法;因為這需要在包含數萬個條目的表中實現。(因此,矢量化解決方案將是理想的,但我更在尋找“正確”的方法來做到這一點。)df['idx'] = range(0, len(df.index))A = list(df['r_A'])B = list(df['r_B'])A_B_Dict = {}for i in range(0, len(B)-1):    for j in range(0, len(A)-1):        if B[i] == A[j]:            A_search = df.loc[df['r_A'] == A[j]].index            A_B_Dict[B[i]] = A_search鑒于一些 df 像這樣:df = [[1, 'A', 'A'],      [2, 'B', 'D'],      [3, 'C', 'B']      [4, 'D', 'D']      ]df = pd.DataFrame(data, columns = ['idx', 'A', 'B'])它應該返回如下內容: A_B_Dict = {'A': 1, 'B': 3, 'C':None', 'D':4}這樣,在 B 列中發生的來自 A 列的最新觀察(或所有觀察)被存儲為值,A_B_Dict其中的鍵A_B_Dict是在 A 列中觀察到的原始值。
查看完整描述

1 回答

?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

國際大學聯盟


d=dict(zip(df.B,df.idx))

dict(zip(df.A,df.A.map(d)))

{'A': 1.0, 'B': 3.0, 'C': nan, 'D': 4.0}


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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