2024-04-27 01:05:16 发布
网友
我有一个包含以下列的python数据框架:Year-Month-Date-DayofWeek-SaleVolume 如何创建一个新列AvgbyDay,它是平均销售量(按年、月和星期几的平均值)。我可以使用groupby来实现这一点,但我希望在数据框中显示它。我正在寻找excel的等价物averageifs($E:$E,$A:$A,A[i],$B:$B,B[i],$D:$D,D[i])
averageifs($E:$E,$A:$A,A[i],$B:$B,B[i],$D:$D,D[i])
如果要添加带有groupby的列,一种方法是使用transform:
groupby
transform
df['AvgbyDay'] = df.groupby('DayofWeek')['SaleVolume'].transform('mean') df['AvgbyDay'] = df.groupby(['Year','Month','Date','Day'])['SaleVolume'].transform('mean')
如果您想创建一个包含年、月、日和日的平均销售额的单独的列,您可以使用for loop并执行以下操作:
for loop
time_cols = ['Year','Month','Date','DayofWeek'] for col in df[time_cols]: df[col+'_average_sales'] = df.groupby(col)['DayofWeek'].transform('mean')
选择你需要的
如果要添加带有
groupby
的列,一种方法是使用transform
:如果您想创建一个包含年、月、日和日的平均销售额的单独的列,您可以使用
for loop
并执行以下操作:选择你需要的
相关问题 更多 >
编程相关推荐