Python 有没有办法计算Dataframe.groupby前五列的mean()?
我有数据帧,每个组有不同的长度。 比如说,Python 有没有办法计算Dataframe.groupby前五列的mean()?,python,pandas,dataframe,Python,Pandas,Dataframe,我有数据帧,每个组有不同的长度。 比如说, gid val1 val2 1 3 5 1 11 15 1 12 5 1 18 6 1 8 8 1 18 7 1 18 8 2 29 21 2 27 23 .... 然后,我想表演 def func(x): d = {} d['first2'] = x['val1'].first(5).mean() return pd.Series(...) grouped =
gid val1 val2
1 3 5
1 11 15
1 12 5
1 18 6
1 8 8
1 18 7
1 18 8
2 29 21
2 27 23
....
然后,我想表演
def func(x):
d = {}
d['first2'] = x['val1'].first(5).mean()
return pd.Series(...)
grouped = df.groupby(['gid']).apply(func)
这样我就可以得到同一组中x['val1']的前五列的平均值()
提前谢谢。您想知道前5列的平均值吗?看起来您需要前5行的平均值。
df.groupby('id')。cumcount()
将为您提供组内的行号。.groupby()。head(5)
将为您提供前5行,而groupby()。tail(5)
将为您提供最后5行。@WJun请提供答案。如果您有样本数据集和预期结果,那么任何人都可以回答。对不起。有关更多详细信息,如上所示,第1组中有7行。但是,我不想得到每个组的mean(),我只想使用group1的前五行来计算group1的平均值。例如,组1的val1为[3,11,12,18,8,18,18],但预期结果为平均值(3,11,12,18,8)。