Select 数据框行的子集基于 Pandas 中的列表
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"]
我想做的是根据列表 select 数据框中的行。
返回
A B C
1 b 12 1
2 c 14 2
有什么方法吗?
我试过了,但失败了。
df1.join(pd.DataFrame(x),how="inner")
使用 isin
到 return 布尔索引,供您索引到您的 df:
In [152]:
df1[df1['A'].isin(x)]
Out[152]:
A B C
1 b 12 1
2 c 14 2
这就是 isin
的意思 returning:
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(值)]
我有一个数据框 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"]
我想做的是根据列表 select 数据框中的行。 返回
A B C
1 b 12 1
2 c 14 2
有什么方法吗? 我试过了,但失败了。
df1.join(pd.DataFrame(x),how="inner")
使用 isin
到 return 布尔索引,供您索引到您的 df:
In [152]:
df1[df1['A'].isin(x)]
Out[152]:
A B C
1 b 12 1
2 c 14 2
这就是 isin
的意思 returning:
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(值)]