[英]Select subset of Data Frame rows based on a list in Pandas
我有一個數據框df1
和列表x
:
In [22] : import pandas as pd
In [23]: df1 = pd.DataFrame({'C': range(5), "B":range(10,20,2), "A":list('abcde')})
In [24]: df1
Out[24]:
A B C
0 a 10 0
1 b 12 1
2 c 14 2
3 d 16 3
4 e 18 4
In [25]: x = ["b","c","g","h","j"]
我想要做的是根據列表選擇數據框中的行。 返回
A B C
1 b 12 1
2 c 14 2
有什么辦法呢? 我試過這個但失敗了。
df1.join(pd.DataFrame(x),how="inner")
使用isin
返回一個布爾索引供您索引到您的 df:
In [152]:
df1[df1['A'].isin(x)]
Out[152]:
A B C
1 b 12 1
2 c 14 2
這就是isin
正在返回的內容:
In [153]:
df1['A'].isin(x)
Out[153]:
0 False
1 True
2 True
3 False
4 False
Name: A, dtype: bool
使用 df[df["column"].isin(values)]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.