0
选择行假设一个大熊猫据帧大熊猫根据条件
d = pd.DataFrame({'a':[1,2,3], 'b':[4,5,6], 'c':[7,8,9]})
如何可以选择所有的行,使得'a'>1, 'b'<6 and 7<='c'<=9
?
它应该导致这种情况等同于数据帧的第二行。 在解决方案中假设一个带有k
键的通用数据框。
选择行假设一个大熊猫据帧大熊猫根据条件
d = pd.DataFrame({'a':[1,2,3], 'b':[4,5,6], 'c':[7,8,9]})
如何可以选择所有的行,使得'a'>1, 'b'<6 and 7<='c'<=9
?
它应该导致这种情况等同于数据帧的第二行。 在解决方案中假设一个带有k
键的通用数据框。
你可以使用query
In [233]: d.query('a>1 and b<6 and 7<=c<=9')
Out[233]:
a b c
1 2 5 8
另外,你可以做
In [234]: d[(d.a>1) & (d.b<6) & (d.c>=7) & (d.c<=9)]
Out[234]:
a b c
1 2 5 8
而且,pd.eval()
作品以及含表达大阵列
In [235]: d[pd.eval('(d.a>1) & (d.b<6) & (d.c>=7) & (d.c<=9)')]
Out[235]:
a b c
1 2 5 8
可以直接索引数据帧,把所有的条件放在圆括号内:
d[(d.a > 1) & (d.b < 6) & (d.c <= 9) & (d.c >= 7)]
对于'或'条件,在条件之间使用管道|
。
非常感谢答案,但我仍然有问题。我编辑了这个问题 – Donbeo
可以粘贴几行数据/框? – Zero
我编辑了问题 – Donbeo