gpt4 book ai didi

python - 如何设置 Pandas 索引的频率?

转载 作者:行者123 更新时间:2023-12-05 01:52:54 28 4
gpt4 key购买 nike

所以这基本上是我的代码:

df = pd.read_csv('XBT_60.csv', index_col = 'date', parse_dates = True)
df.index.freq = 'H'

我加载了一个 csv,将索引设置为日期列并希望将频率设置为“H”。但这会引发此错误:

ValueError: Inferred frequency None from passed values does not conform to passed frequency H

日期列的格式为:2017-01-01 00:00:00

我已经尝试在不设置索引列的情况下加载 csv,并在将其设置为索引之前在日期列上使用 pd.to_datetime,但我仍然无法设置频率。我该如何解决这个问题?

顺便说一句:我的目标是使用 statsmodels 中的 seasonal_decompose() 方法,所以我需要那里的频率。

最佳答案

如果缺少索引值,则无法设置频率:

>>> df
val
2019-09-15 0
2019-09-16 1
2019-09-18 3

>>> df.index.freq = 'D'
...
ValueError: Inferred frequency None from passed values does not conform to passed frequency D

要查找丢失的索引,请使用:

>>> df = df.resample('D').first()
val
2019-09-15 0.0
2019-09-16 1.0
2019-09-17 NaN
2019-09-18 3.0

>>> df.index.freq
<Day>

要调试,找到缺失的索引:

>>> pd.date_range(df.index.min(), df.index.max(), freq='D').difference(df.index)
DatetimeIndex(['2019-09-17'], dtype='datetime64[ns]', freq=None)

关于python - 如何设置 Pandas 索引的频率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71340374/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com