如何从具有不同数组长度的Numpy数组列表中计算特征?

问题描述 投票:0回答:1

我有一个带有不同长度样本的日期集。因此,我决定将每个样本作为numpy数组存储在这样的列表中:

import numpy as np
a = list()
b = np.array([1,4,5])
c = np.array([4,3,9,7])
d = np.array([1,9,8])
a.append(b)
a.append(c)
a.append(b)

现在,我想为每个样本计算特征,例如均值。最优雅的方法是什么?将样本存储在列表中完全有意义吗?目前,我将这样进行:

e = np.array([])
for i in range(len(a)):
    print('Value number: ' + str(i))
    e = np.append(e, np.mean(a[i]))

但是这似乎很慢。我觉得有一个更简单的解决方案。您将如何处理不同长度的样本以进行特征计算

python arrays numpy feature-extraction
1个回答
0
投票

每个数组看起来可能都有不同的大小,所以最好只使用列表并使用所需的任何函数进行映射,或者遍历列表:

from statistics import mean, stdev

b = np.array([1,4,5])
c = np.array([4,3,9,7])
d = np.array([1,9,8])

l = [b,c,d]

list(map(mean, l))
# [3, 5, 6]

list(map(stdev, l))
# [2.0, 2.6457513110645907, 4.358898943540674]
© www.soinside.com 2019 - 2024. All rights reserved.