Python Pandas:重新采样日期范围

3
我使用以下代码创建了一个Pandas日期时间列表:
range = pd.date_range(start = '5/3/2005', periods =5+1, freq='1D')

有没有一种快速的方法可以重新采样该列表,使其跨越相同的范围,但频率为30分钟?(到目前为止,我只能看到将该逻辑应用于Series或DataFrames索引的应用程序,但没有daterange)


2
range.to_series().asfreq('30 min').index?另外,range是一个内置函数,所以我不会将变量命名为“range”。 - Abdou
2个回答

4

有一种方法是:

date_range = pd.date_range(start = '5/3/2005', periods =5+1, freq='1D')
new_date_range = date_range.to_series().asfreq('30 min').index

此外,range是一个内置函数,因此我不会将变量命名为"range"。
希望这可以帮到你。

@piRSquared 在Python / Pandas中的重新采样函数只存在于Series / DataFrames中?我知道这一点,但是如我在问题中所提到的,我想知道是否有类似的函数适用于列表。 - jim jarnac
@jimbasquiat 那个“list”实际上是一个DatetimeIndex。正是因为它是一个DatetimeIndex,才使Abdou能够做到他们所做的事情。 asfreq()是一种方便的resample方式。它作用于SeriesDataFrame的索引。然而,你需要一个Series来执行它。我会发布一种备选方案,尽管我仍然认为这更优雅。 - piRSquared

2
您也可以这样做。
date_range = pd.date_range(start = '5/3/2005', periods =5+1, freq='1D')
new_date_range = pd.date_range(date_range.min(), date_range.max(), freq='30 min')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接