Python 如何同时显示聚合值和非聚合值?
我在一年的时间里每小时做一次时间序列。我希望在绘图中显示每日和/或每月的聚合值以及源数据。最可靠的方法应该是将这些聚合值添加到源数据帧中,并从中获取。我知道如何拍摄这样的每小时系列: 并在一年中一天一小时地展示如下: 但是我想要的是像下面这样显示整个内容,其中聚合数据与源数据一起显示。模拟示例: 我想为不同的时间聚合,如日、周、月、季度和年做这些 我知道这个问题有点宽泛,但我对这个问题的思考时间比我想承认的要长。谢谢你的建议Python 如何同时显示聚合值和非聚合值?,python,pandas,Python,Pandas,我在一年的时间里每小时做一次时间序列。我希望在绘图中显示每日和/或每月的聚合值以及源数据。最可靠的方法应该是将这些聚合值添加到源数据帧中,并从中获取。我知道如何拍摄这样的每小时系列: 并在一年中一天一小时地展示如下: 但是我想要的是像下面这样显示整个内容,其中聚合数据与源数据一起显示。模拟示例: 我想为不同的时间聚合,如日、周、月、季度和年做这些 我知道这个问题有点宽泛,但我对这个问题的思考时间比我想承认的要长。谢谢你的建议 import pandas as pd import numpy
import pandas as pd
import numpy as np
np.random.seed(1)
time = pd.date_range(start='01.01.2020', end='31.12.2020', freq='1H')
A = np.random.uniform(low=-1, high=1, size=len(time)).tolist()
df1 = pd.DataFrame({'time':time, 'A':np.cumsum(A)})
df1.set_index('time', inplace=True)
df1.plot()
times = pd.DatetimeIndex(df1.index)
df2 = df1.groupby([times.month, times.day]).mean()
df2.plot()
代码示例:您要查找的是
步骤
函数,以及groupby的另一种方式:
# replace '7D' with '1D' to match your code
# but 1 day might be too small to see the steps
df2 = df1.groupby(df1.index.floor('7D')).mean()
plt.step(df2.index, df2.A, c='r')
plt.plot(df1.index, df1.A)
输出: