Python 如何在dataframe列中选择一系列值?

Python 如何在dataframe列中选择一系列值?,python,python-3.x,pandas,dataframe,range,Python,Python 3.x,Pandas,Dataframe,Range,我想为某个列选择一个范围,比如说columntwo。我想选择-0.5和+0.5之间的所有值。如何做到这一点 我希望使用 import pandas as pd import numpy as np data = 'filename.csv' df = pd.DataFrame(data) df one two three four five a 0.469112 -0.282863 -1.509059 bar True b 0.932424

我想为某个列选择一个范围,比如说column
two
。我想选择-0.5和+0.5之间的所有值。如何做到这一点

我希望使用

import pandas as pd
import numpy as np
data = 'filename.csv'
df = pd.DataFrame(data)
df 

        one       two     three  four   five
a  0.469112 -0.282863 -1.509059  bar   True
b  0.932424  1.224234  7.823421  bar  False
c -1.135632  1.212112 -0.173215  bar  False
d  0.232424  2.342112  0.982342  unbar True
e  0.119209 -1.044236 -0.861849  bar   True
f -2.104569 -0.494929  1.071804  bar  False
我试过了

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
在数据帧列中查找值范围的正确方法是什么

编辑:问题

使用
.between()

0    True
1    False
2    False
3    False
4    False
5    True
两者之间的区别是什么

df['two'].between(-0.5, 0.5, inclusive=False)
-0.5
还有不平等,比如

 -0.5 < df['two'] < 0.5
-0.5=

对于严格不等式,与
inclusive=False一起使用:

 -0.5 =< df['two'] < 0.5

inclusive
参数确定是否包含端点(
True
。介于
之间是一个很好的解决方案,但是如果您想要更精细的控制,请使用以下方法:

(df['two'] >= -0.5) & (df['two'] < 0.5)

因此产生了错误。

对于严格的不等式,使用
inclusive=False
是什么意思?我不确定我是否理解
inclusive=True
inclusive=False
之间的区别?使用
介于(-0.5,0.5)之间
-0.5
-0.5=
之间有什么区别?注意:第二个表达式中的括号很重要。它是否也适用于日期?'df['date']。介于(2010-03-01,2010-05-01,包括=False)“我找到了sol,谢谢你解释为什么会出现
ValueError
!还有一个更好的选择:
df.query('-0.5@MaxU)谢谢你!我没有想到这一点。这非常干净
 -0.5 =< df['two'] < 0.5
df['two'].between(-0.5, 0.5, inclusive=False)
(df['two'] >= -0.5) & (df['two'] < 0.5)
(0.5 <= df['two']) & (df['two'] < 0.5)
(0.5 <= df['two']) and (df['two'] < 0.5)