如何用python读取csv文件中一定范围内的值?

How to read values in a certain range of a csv file with python?

这里是编码初学者,在此先感谢!

我想读取某个范围内的 csv 文件的值。现在,我正在使用 pandas 中的 pd.read_csv,我希望我的输出看起来与读取 csv 文件时的输出相同。我到目前为止是:

x = pd.read_csv("pathfile", parse_dates=True, index_col="timestamp")
x_lower = 3
x_higher = 8

x_ideal = x[x <= x_higher and x_lower <= x]
print(x_ideal)

但我不断收到 ValueError (builtins.ValueError: Series 的真值不明确。使用 a.empty, a.bool(), a.item(), a.any() 或 a.all()。)。我可以使用以下代码获得 x_lower 以上的范围:

x_ideal = x[x_lower <= x]

并且 x_higher 以下的范围使用代码:

x_ideal = x[x <= x_higher]

我只是无法了解它们之间的范围。作为记录,我也尝试过类似的方法,这会引发相同的错误:

x_ideal = x[x_lower <= x <= x_higher]

csv 示例为:

date,numerical value
Monday,0
Tuesday,1
Wednesday,2
Thursday,3
Friday,4
Saturday,8
Sunday,9
Monday,10
Tuesday,11
Wednesday,12
Thursday,4
Friday,7

您可以在列 numerical value 上使用 between,而不是在整个数据帧上使用:

x_lower = 3
x_higher = 8
x_ideal = x[x['numerical value'].between(x_lower, x_higher)]

输出:

>>> x_ideal
        date  numerical value
3   Thursday                3
4     Friday                4
5   Saturday                8
10  Thursday                4
11    Friday                7

要了解有关您的错误的更多信息,请遵循此 并阅读已接受的答案。