繁体   English   中英

从计算值中排除列

[英]Exclude a column from calculated value

我是图书馆的新手,正在尝试弄清楚如何将列添加到 pivot 表中,其中包含过去三个月交易数据的行数据的平均值和标准差。

下面是设置 pivot 表的代码:

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

生成的 pivot 表如下所示: 数据透视表

问题是标准差列在其计算中包含了平均值,而我只希望它使用前三个月的原始数据。 例如,部件号 2225 的Std Dev偏差应该是 11.269,而不是 9.2。

我确信有更好的方法可以做到这一点,我只是错过了一些东西。

一种方法是在调用.std()之前暂时删除Mean列:

ptHistoricalConsumption['Std Dev'] = ptHistoricalConsumption.drop('Mean', axis=1).std(numeric_only=True, axis=1)

这不会将其永久删除,它只会将其从馈送到.std()的副本中删除。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM