【发布时间】:2023-02-09 14:53:13
【问题描述】:
对于每个时间点(行)A1,A2,A3; A4,5,6; ... 是 3 个重复。我想获取每行 3 个组的平均值和标准差,并将其添加到新的 df 中。
我努力了:
new_df['A1-A3_mean']=np.mean(df[['A1','A2','A3']],axis=1)
new_df['A1-A3_std']=np.std(df[['A1','A2','A3']],axis=1)
哪个有效,但非常手动且耗时。我尝试使用 groupby('Time').agg({'mean','std'}) 但我不知道如何指定它应该始终采用 3 列。理想情况下,结果列将命名为 A1-3_mean / A1-3_stdev
提前致谢!
【问题讨论】:
-
你能提供可重现的输入吗?
-
d = {'时间': [1, 2, 3], 'A1': [8, 2, 9], 'A2': [3, 2,5], 'A3': [3, 4,5] ,'A4': [1, 3, 3], 'A5': [3, 8,5], 'A6': [5, 2,5]} df = pd.DataFrame(data=d) df
标签: python pandas dataframe mean