【发布时间】:2021-12-30 23:02:02
【问题描述】:
我是图书馆的新手,我正在尝试弄清楚如何将列添加到数据透视表中,其中包含过去三个月交易数据的行数据的平均值和标准差。
以下是设置数据透视表的代码:
previousThreeMonths = [prev_month_for_analysis, prev_month2_for_analysis, prev_month3_for_analysis]
dfPreviousThreeMonths = df[df['Month'].isin(previousThreeMonths)]
ptHistoricalConsumption = dfPreviousThreeMonths.pivot_table(dfPreviousThreeMonths,
index=['Customer Part #'],
columns=['Month'],
aggfunc={'Qty Shp':np.sum}
)
ptHistoricalConsumption['Mean'] = ptHistoricalConsumption.mean(numeric_only=True, axis=1)
ptHistoricalConsumption['Std Dev'] = ptHistoricalConsumption.std(numeric_only=True, axis=1)
ptHistoricalConsumption
问题在于标准差列在其计算中包含了平均值,而我只希望它使用前三个月的原始数据。例如,部件号 2225 的 Std Dev 应该是 11.269,而不是 9.2。
我确信有更好的方法可以做到这一点,但我只是错过了一些东西。
【问题讨论】:
标签: python pandas dataframe statistics pivot-table