gpt4 book ai didi

python - 在pandas中,如何收集所有行的数据并将新数据合并为一行?

转载 作者:行者123 更新时间:2023-12-03 21:53:55 24 4
gpt4 key购买 nike

我有以下名为 data_frame 的数据框:

      a         b       c
0 [1, 2] [3, 4] [5, 6]
1 [7, 8] [9, 10] [11, 12]
2 [13, 14] [15, 16] [17, 18]

我想要做的是所有行中列表的元素均值。例如,结果数据应该是:
                   a                                    b                                      c
0 [(1 + 7 + 13) / 3, (2 + 8 + 14) / 3] [(3 + 9 + 15) / 3, (4 + 10 + 16) / 3] [(5 + 11 + 17) / 3, (6 + 12 + 18) / 3]

如果 pandas 中的每个元素都是单个值,则可以通过 data_frame.mean() 来完成。 .

但是,如果pandas中的每个元素都是上面显示的列表,怎么办呢?

最佳答案

试试 stack()然后获得级别 1 的平均值并聚合回列表/加入(您喜欢的任何内容):

s = df.stack()
pd.DataFrame(s.tolist(),index=s.index).mean(level=1).agg(list,1).to_frame().T
        a        b         c
0 [7, 8] [9, 10] [11, 12]

关于python - 在pandas中,如何收集所有行的数据并将新数据合并为一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62209593/

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