我有一个带有不同长度样本的日期集。因此,我决定将每个样本作为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]))
但是这似乎很慢。我觉得有一个更简单的解决方案。您将如何处理不同长度的样本以进行特征计算
每个数组看起来可能都有不同的大小,所以最好只使用列表并使用所需的任何函数进行映射,或者遍历列表:
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]