我試圖在基於匹配的另一個數據幀的它的值的熊貓數據幀來選擇行。最重要的是,我只想匹配行中的值,而不是貫穿整個系列。例如:Python的大熊貓 - 選擇通過
df1 = pd.DataFrame({'a':[1, 2, 3], 'b':[4, 5, 6]})
df2 = pd.DataFrame({'a':[3, 2, 1], 'b':[4, 5, 6]})
我想選擇排在那裏都「a」和「B」從DF1比賽中DF2任何行值。我曾嘗試:
df1[(df1['a'].isin(df2['a'])) & (df1['b'].isin(df2['b']))]
這當然將返回所有行,因爲所有的值出現在在某些時候DF2,但不一定在同一行。我如何限制這個值,以便測試'b'的值只是那些值爲'a'的行?所以對於上面的例子,我期待只返回行索引1([2,5])。
請注意,數據幀可能具有不同的形狀,並且包含多個匹配的行。
這工作,我從來沒有會工作這一點我自己,謝謝。我很驚訝沒有現有的熊貓功能來執行此操作。 – ssast
@ssast即使NumPy沒有內置的這個。有一個非常相關的['問答'](http://stackoverflow.com/questions/38674027/find-the-row-indexes-of-several-values-in-a-numpy-array)研究其他更有效的解決方案找到行索引。那裏看起來很好看! – Divakar