簡體   English   中英

如何根據值列表選擇pandas中的行

[英]How to select rows in pandas based on list of values

我試圖找出一種方法,我可以在pandas數據框中選擇行,因為某些值將在我的列表中。 例如

df = pd.DataFrame(np.arange(6).reshape(3,2), columns=['A','B'])
   A  B
0  0  1
1  2  3
2  4  5

我知道我可以選擇某一行,例如

df[df.A==0]

將選擇A = 0的行。 我想要的是選擇多個行,其值將在我的列表中,例如[0,2]中的A. 我試過了

df[df.A in [0,2]]
df[list(df.A)==[0,2]]

但沒有任何作用。 在R語言中,我可以提供%in%運算符。 在python語法中我們可以在[0,2]中使用A等。在這種情況下,如何在pandas中選擇行的子集? 謝謝,瓦倫丁。

pd.isin()將選擇多個值:

>>> df[df.A.isin([0,2])]
   A  B
0  0  1
1  2  3

如果您不喜歡這種語法,您也可以使用查詢 (在2014年的pandas 0.13中引入):

>>> df.query('A in [0,2]')
   A  B
0  0  1
1  2  3

暫無
暫無

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

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