使用 loc 从 pandas 数据框列中切片范围

Slicing a range from a pandas dataframe column using loc

我尝试使用 loc 从 pandas 列中提取值范围,但我失败了:

df.loc[0.5<df['a']<1.5, ['a']]

正确的pandas方法是什么?

使用Series.between:

df.loc[df['a'].between(0.5, 1.5, inclusive=False), ['a']]

或按位 AND& 链式条件:

df.loc[(df['a'] > 0.5) & (df['a'] < 1.5), ['a']]

DataFrame.query 与 select a 到一列 DataFrame:

df[['a']].query("0.5 < a < 1.5")
#alternative
#df.query("0.5 < a < 1.5")[['a']]