Python 如何对timeseries数据中的索引进行分组?
初学者编码器在这里 我试图得到每年的平均数据。重采样似乎不起作用,有什么问题Python 如何对timeseries数据中的索引进行分组?,python,dataframe,matplotlib,time-series,Python,Dataframe,Matplotlib,Time Series,初学者编码器在这里 我试图得到每年的平均数据。重采样似乎不起作用,有什么问题 data=pd.read_csv('Water well.csv', parse_dates=["datetime"],index_col="datetime")` KeyError:“找不到grouper名称datetime” 数据来自此处如果要按索引列分组,则无需为参数“开”提供值。 熊猫文件中提到了重采样方法: 在str上,可选 对于数据帧,使用列代替索引进行重采样。
data=pd.read_csv('Water well.csv', parse_dates=["datetime"],index_col="datetime")`
KeyError:“找不到grouper名称datetime”
数据来自此处如果要按索引列分组,则无需为参数“开”提供值。 熊猫文件中提到了重采样方法: 在str上,可选 对于数据帧,使用列代替索引进行重采样。列必须与datetime类似 () 以下工作将起作用:
data1=data.resample('1y').mean().reset_index()
但是,您应该考虑在分组结果中需要哪些列。 如果数据框包含非数字列,则可能会得到意外结果
使用reset_index()的目的是什么?在您的情况下,它会将DateTimeIndex和frequency更改为整数的RangeIndex 没有重置索引(): 使用reset_index():如果要按索引列分组,则不需要为参数“on”提供值。 熊猫文件中提到了重采样方法: 在str上,可选 对于数据帧,使用列代替索引进行重采样。列必须与datetime类似 () 以下工作将起作用:
data1=data.resample('1y').mean().reset_index()
但是,您应该考虑在分组结果中需要哪些列。 如果数据框包含非数字列,则可能会得到意外结果
使用reset_index()的目的是什么?在您的情况下,它会将DateTimeIndex和frequency更改为整数的RangeIndex 没有重置索引(): 使用reset_index():谢谢大家!@谢谢你@尼安
>>> data2=data['water_level(ft below land surface)'].resample('1y').mean()
>>> data2.index
DatetimeIndex(['2016-12-31', '2017-12-31', '2018-12-31', '2019-12-31',
'2020-12-31', '2021-12-31'],
dtype='datetime64[ns]', name='datetime', freq='A-DEC')
>>> data2
datetime
2016-12-31 28.082380
2017-12-31 28.553674
2018-12-31 27.897536
2019-12-31 26.807835
2020-12-31 27.973135
2021-12-31 27.331749
>>> data3=data['water_level(ft below land surface)'].resample('1y').mean().reset_index()
>>> data3.index
RangeIndex(start=0, stop=6, step=1)
>>> data3
datetime water_level(ft below land surface)
0 2016-12-31 28.082380
1 2017-12-31 28.553674
2 2018-12-31 27.897536
3 2019-12-31 26.807835
4 2020-12-31 27.973135
5 2021-12-31 27.331749