Rac*_*hel 0 slice dataframe python-3.x pandas
我有一个简单的pandas数据框.
import pandas as pd
x = [5, 10, 20, 30, 5, 10, 20, 30, 5, 10, 20, 30]
y = [100, 100, 200, 200, 300, 300, 400, 400, 500, 500, 600, 600]
users =['mark', 'mark', 'mark', 'rachel', 'rachel', 'rachel', 'jeff', 'jeff', 'jeff', 'lauren', 'lauren', 'lauren']
df = pd.DataFrame(dict(x=x, y=y, users=users)
Run Code Online (Sandbox Code Playgroud)
我想保留数据帧的某些行.让我们说所有"rachels"和"jeffs".我试过了df.query:
df=df.query('users=="rachel"' or 'users=="jeff"')
Run Code Online (Sandbox Code Playgroud)
结果是只有一个数据框users=="rachel".有没有办法结合查询?
标准方法是使用按位或运算符|.为了清楚解释原因,我建议查看这个答案.由于Python的评估顺序,您还需要在每个条件周围使用括号.
df[(df.users == 'rachel') | (df.users == 'jeff')]
users x y
3 rachel 30 200
4 rachel 5 300
5 rachel 10 300
6 jeff 20 400
7 jeff 30 400
8 jeff 5 500
Run Code Online (Sandbox Code Playgroud)
使用查询,您仍然可以使用或运算符:
df.query("users=='rachel' | users=='jeff'")
users x y
3 rachel 30 200
4 rachel 5 300
5 rachel 10 300
6 jeff 20 400
7 jeff 30 400
8 jeff 5 500
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
634 次 |
| 最近记录: |