python 用df.resample,要求只对已有的时间进行取周期
时间: 2024-03-26 10:34:31 浏览: 53
如果你想要对一个 DataFrame 中已有的时间数据进行周期性的重采样,可以使用 `pd.date_range` 函数生成一个新的时间索引,然后使用 `reindex` 函数对 DataFrame 进行索引重建。例如:
```
import pandas as pd
# 假设 df 是一个 DataFrame,其中包含时间序列数据
df = ...
# 生成一个新的时间索引,表示每个月的第一个工作日
new_index = pd.date_range(start=df.index.min(), end=df.index.max(), freq='BMS')
# 对 df 进行索引重建,仅保留新时间索引中存在的时间点
df_resampled = df.reindex(new_index).dropna()
```
在上面的例子中,`pd.date_range` 函数生成了一个新的时间索引,表示每个月的第一个工作日。然后,使用 `reindex` 函数对 DataFrame 进行索引重建,仅保留新时间索引中存在的时间点,最后使用 `dropna` 函数删除重采样后存在缺失值的行。这样,`df_resampled` 中只包含原始数据中已有的时间点,并按照月份进行了重采样。你可以根据需要选择其他的重采样频率。
阅读全文