我有一个数据框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")
Use isin http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.isin.html#pandas.Series.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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)