我有一个数据框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"]
Run Code Online (Sandbox Code Playgroud)
我想要做的是根据列表选择数据框中的行.返回
A B C
1 b 12 1
2 c 14 2
Run Code Online (Sandbox Code Playgroud)
这样做的方法是什么?我试过这个却失败了.
df1.join(pd.DataFrame(x),how="inner")
Run Code Online (Sandbox Code Playgroud)
使用isin为您返回一个布尔值索引的索引到你的DF:
In [152]:
df1[df1['A'].isin(x)]
Out[152]:
A B C
1 b 12 1
2 c 14 2
Run Code Online (Sandbox Code Playgroud)
这isin就是回归:
In [153]:
df1['A'].isin(x)
Out[153]:
0 False
1 True
2 True
3 False
4 False
Name: A, dtype: bool
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3397 次 |
| 最近记录: |