什么是pythonic方法来进行内存节省列聚合?

2024-03-28 11:36:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python新手,如果这是个愚蠢的问题,我很抱歉。我有类似于表的数据结构,希望对每一列应用不同的aggrefation函数,以获得某种total行:

data = [
   [1, 2, 3, 4, 5],
   [6, 7, 8, 9, 10],
   [11, 12, 13, 14, 15],
]
agg_func = [sum, min, max, mean, median]

total_row = [agg_func[index](value) for index, value in enumerate(zip(*data))] 

如果我有大量数据(数据中有数百万行),这是否是进行这种聚合的正确方法(在ram保存方面)?有没有什么方法可以更快地进行这种计算?你知道吗


Tags: 数据方法函数数据结构dataindexvaluemin
1条回答
网友
1楼 · 发布于 2024-03-28 11:36:07

尝试numpy进行这种计算。它允许您在高维结构的第一个维度上应用聚合函数。你知道吗

import numpy as np
data = np.array([
    [1, 2, 3, 4, 5],
    [6, 7, 8, 9, 10],
    [11, 12, 13, 14, 15],
])
agg_func = [np.sum, np.min, np.max, np.mean, np.median]
total_row = [f(data, axis=0) for f in agg_func]

相关问题 更多 >