pandas合并不同频率的数据
时间: 2023-11-17 12:58:59 浏览: 35
当需要合并不同频率的数据时,可以使用 pandas 的 resample() 方法来将数据转换为相同频率,然后再进行合并。下面是一个简单的示例:
```python
import pandas as pd
# 创建两个不同频率的 DataFrame
df1 = pd.DataFrame({'date': pd.date_range('20210101', periods=4, freq='D'), 'value1': [1, 2, 3, 4]})
df2 = pd.DataFrame({'date': pd.date_range('20210101', periods=2, freq='2D'), 'value2': [5, 6]})
# 将两个 DataFrame 转换为相同频率
df1_resampled = df1.set_index('date').resample('2D').mean()
df2_resampled = df2.set_index('date').resample('2D').mean()
# 合并两个 DataFrame
result = pd.concat([df1_resampled, df2_resampled], axis=1)
print(result)
```
输出结果为:
```
value1 value2
2021-01-01 1.5 5.0
2021-01-03 3.5 6.0
```
在上面的示例中,我们先将两个 DataFrame 转换为相同的频率(2 天),然后再使用 concat() 方法进行合并。注意,我们使用 mean() 方法对数据进行了聚合,因为在转换频率时可能会出现数据缺失的情况。