2
不能完全理解如何在熊貓中執行「複雜」查詢。 假設我有3列(一,DIR,R)的數據幀:熊貓中的複雜查詢
from pandas import DataFrame df = DataFrame({ 'a':[10, 15, 20, 30, 8, 14], 'dir': ['pos', 'abs', 'abs', 'neg', 'abs', 'pos'], 'r': ['vl', 'pr', 'vl', 'pr', 'vl', 'pr'] })
a dir r 10 pos vl 15 abs pr 20 abs vl 30 neg pr 8 abs vl 14 pos pr
我想獲得的所有數據,其中,在列值> 4,並在同一時間DIR <>'abs'和r <>'pr'(但如果dir = abs且r = vl則可以)。 所以查詢結果應該是:
a dir r 10 pos vl 20 abs vl 30 neg pr 8 abs vl 14 pos pr
想使用的查詢:
df[(df.a > 4) & ((df.dir != 'abs') & (df.r != 'pr'))]
但顯然這不是我想做的事,結果是:
a dir r 10 pos vl
它適用於我所提供的例子。我會用我正在處理的工具檢查它,但現在看起來很自然。猜猜我對過濾數據和對過濾數據的理解錯誤。謝謝。 – Ivan