簡體   English   中英

獲取兩列值相等的 pandas 列

[英]Get pandas column where two column values are equal

如果列中的值相同,我想通過不同數據框中的兩列對 DataFrame 進行子集化。 以下是 df1 和 df2 的示例:

df1
    A         
0   apple
1   pear
2   orange
3   apple

df2
    B
0   apple
1   orange
2   orange
3   pear

我希望 output 是基於 df2 列的子集 df1:

    A   
0   apple
2   orange

我試過 df1 = df1[df1.A == df2.B] 但出現以下錯誤:

ValueError: Can only compare identically-labeled Series objects

我不想重命名其中的列。

做這個的最好方式是什么? 謝謝

如果需要將索引值與兩列進行比較,請創建Multiindex並使用Index.isin

df = df1[df1.set_index('A', append=True).index.isin(df2.set_index('B', append=True).index)]
print (df)
        A
0   apple
2  orange

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM