如何用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
要了解有关您的错误的更多信息,请遵循此 并阅读已接受的答案。
这里是编码初学者,在此先感谢!
我想读取某个范围内的 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
要了解有关您的错误的更多信息,请遵循此