gpt4 book ai didi

python - 聚合列组

转载 作者:行者123 更新时间:2023-11-28 22:08:30 25 4
gpt4 key购买 nike

基于数据框

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randint(0,100,size=(2, 6)), columns=list('ABCDEF'))
print(df)
A B C D E F
0 82 63 71 74 71 27
1 90 9 74 35 38 43

我如何计算每个不相交的三列组的平均值,以便生成的数据框看起来像

   meanABC meanDEF
0 72 57.33
1 57.66 38.66

?

最佳答案

想法是首先创建 MultiIndex,然后为 rename 获取新的列名称,最后可以在 的第二级使用 mean多索引:

np.random.seed(2019)
df = pd.DataFrame(np.random.randint(0,100,size=(2, 6)), columns=list('ABCDEF'))
print(df)
A B C D E F
0 72 31 37 88 62 24
1 29 15 12 16 48 71

df.columns = [df.columns, np.arange(len(df.columns)) // 3]

c = 'mean' + df.columns.to_frame().groupby(1)[0].apply(''.join)
print (c)
1
0 meanABC
1 meanDEF
Name: 0, dtype: object

df = df.mean(axis=1, level=1).rename(columns=c)
print (df)
meanABC meanDEF
0 46.666667 58.0
1 18.666667 45.0

关于python - 聚合列组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58407137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com