【发布时间】:2018-12-17 10:56:48
【问题描述】:
如何为数据框中的每一行添加一个比较列(即lead)到我的数据框中。它应该采用列平均值(总体领先平均值)并减去其月平均值。这可以通过apply 和 lambda 使用groupby 来完成吗?
即如何创建一个额外的比较列Lead_Diff,这是行项目“每月平均读数”与其整体/列平均值的差异。以下是我的数据模型,在此先感谢。
info = {'date': ['01-18', '02-18', '03-18', '01-18','02-18','01-18','03-18'],
'lead': [0.1, 0.2, 0.3, 0.4, 0.5, 0.6,0.7],
'copper': [0.7, 0.6, 0.5, 0.4, 0.3, .2, 0.1]}
df = pd.DataFrame.from_dict(info)
【问题讨论】:
-
为上述数据提供预期的输出。
-
如果你想对这两个元素都这样做,也许你可以使用
df.groupby(df.date.str.split('-').str[0]).transform('mean') - df.mean()之类的东西?
标签: python pandas lambda apply