gpt4 book ai didi

python - 在数据框/二维数组中查找元组的行平均值

转载 作者:行者123 更新时间:2023-12-03 18:10:23 25 4
gpt4 key购买 nike

我有一个二维数组/ Pandas 数据框,如下所示:

          a         b         c
0 (1, 2) (4, 4) (10, 12)
1 (11, 10) (44, 44) (5, 6)

我想找出元组形式的行平均值。
所需的输出是:
          a         b         c       avg
0 (1, 2) (4, 4) (10, 12) (5, 6)
1 (11, 10) (44, 44) (5, 6) (20, 20)

谢谢

最佳答案

使用 apply 的一种方式灵感来自 https://stackoverflow.com/questions/12412546/average-tuple-of-tuples

df['avg'] = df.apply(lambda x: tuple(map(np.mean, zip(*x))),axis=1)

另一种选择:
df.apply(lambda x: pd.DataFrame(x.tolist()).mean().round().agg(tuple),axis=1)

0 (5.0, 6.0)
1 (20.0, 20.0)

或者甚至更好:
s  = df.stack()
df['avg'] = pd.DataFrame(s.tolist(),s.index).mean(level=0).round().agg(tuple,1)
print(df)

a b c avg
0 (1, 2) (3, 4) (10, 11) (5.0, 6.0)
1 (12, 10) (44, 44) (5, 6) (20.0, 20.0)

关于python - 在数据框/二维数组中查找元组的行平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60594272/

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