[英]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.