[英]select rows in pandas DataFrame using comparisons against two columns
[英]Using pandas to select rows using two different columns from dataframe?
Q类似于: 使用值列表从pandas数据帧中选择行
如果两列中的任何一个值都在列表中,我想要数据帧。 返回两列(合并#1和#4的结果。
import numpy as np
from pandas import *
d = {'one' : [1., 2., 3., 4] ,'two' : [5., 6., 7., 8.],'three' : [9., 16., 17., 18.]}
df = DataFrame(d)
print df
checkList = [1,7]
print df[df.one == 1 ]#1
print df[df.one == 7 ]#2
print df[df.two == 1 ]#3
print df[df.two == 7 ]#4
#print df[df.one == 1 or df.two ==7]
print df[df.one.isin(checkList)]
你几乎拥有它,但你必须使用“按位或”运算符:
In [6]: df[(df.one == 1) | (df.two == 7)]
Out[6]:
one three two
0 1 9 5
2 3 17 7
In [7]: df[(df.one.isin(checkList)) | (df.two.isin(checkList))]
Out[7]:
one three two
0 1 9 5
2 3 17 7
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.