df= df[df.a< 7.8]
df= df[df.a> 7.50]
df= df[df.b> 44.85]
此代码可以一行编写吗?或少于3行?
答案 0 :(得分:3)
我将使用query
df.query('a > 7.5 and a < 7.8 and b > 44.85')
答案 1 :(得分:1)
我相信您需要Series.between
和链&
来进行按位AND
或|
来进行按位OR
,并且要满足以下条件:
df1 = df[df.a.between(7.5, 7.8, inclusive=False) & (df.b> 44.85)]
或者:
df1 = df[(df.a > 7.5) & (df.a < 7.8) & (df.b> 44.85)]
示例:
df = pd.DataFrame({
'a':[7.6,7.5,7.4,7.56,5,7.7],
'b':[57,48,59,44,42,53],
})
df1 = df[df.a.between(7.5, 7.8, inclusive=False) & (df.b> 44.85)]
print (df1)
a b
0 7.6 57
5 7.7 53