出于某种背景,我一直在尝试获取数据集中每个唯一名称的每个财政周的数据集平均值。我从如下数据集开始:
我目前拥有的:
unique_week = df['fiscal_week'].unique()
unique_week = sorted(unique_week)
newCols = pd.DataFrame()
for week_number in unique_week:
unique_id = df['pad'].unique()
turbine_reg = df[df['fiscal_week'] == week_number]
newColname = 'FW' + str(week_number)
for turbine_name in unique_id:
turbine_name_reg = turbine_reg[turbine_reg['pad'] == turbine_name]
value_mean = [turbine_name_reg['value'].mean()]
newCols['Turbine'] = turbine_name
newCols[newColname] = direct_mean
我希望最终产品看起来像:
目前,我只得到循环运行的最后一个唯一焊盘的结果,而不保存其他焊盘的运行时间。我知道循环每次都会覆盖自身,但我不确定如何修复它
有什么想法吗
我认为可以使用groupby()函数来获取每个pad在财政周内的平均值
此代码spinnet将返回如下表:
然后,您需要添加unstack()函数以获取财政周作为列。您可以检查此答案以获取有关unstack的更详细信息
最后,您将得到如下表格:
我想这是你想要的格式。完成这些过程后,您可以使用函数编辑表格。(例如重命名、重置索引、删除)
听起来您实际上想使用
df.groupby
通过pad
和fiscal_week
列对数据帧进行分组例如,从这个数据帧
df
开始:我们可以使用以下公式计算pad、财政周平均值:
输出:
我认为pivot表是您需要的:
相关问题 更多 >
编程相关推荐