根据 Pandas 中的列表选择数据框行的子集

2024-06-20

我有一个数据框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(使用前将#替换为@)

根据 Pandas 中的列表选择数据框行的子集 的相关文章

随机推荐