【发布时间】:2017-06-01 07:41:42
【问题描述】:
我有一个 numpy 数组,其中包含许多不同长度的样本
Samples = np.array([[1001, 1002, 1003],
... ,
[1001, 1002]])
我想(按元素)减去数组的平均值,然后除以数组的标准差。比如:
newSamples = (Samples-np.mean(Samples))/np.std(Samples)
除非它不适用于不规则形状的数组,
np.mean(Samples) 原因
unsupported operand type(s) for /: 'list' and 'int'
由于我假设它为每个轴设置了一个静态大小,然后当它遇到不同大小的样本时它无法处理它。使用 numpy 解决此问题的方法是什么?
示例输入:
Sample = np.array([[1, 2, 3],
[1, 2]])
减去均值再除以标准差:
Sample = array([[-1.06904497, 0.26726124, 1.60356745],
[-1.06904497, 0.26726124]])
【问题讨论】:
-
您的“数组”不是数字之一,而是列表对象。见stackoverflow.com/questions/44293329/…
-
您要使用整个数组(样本)的平均值/标准差还是仅使用样本的每个元素的平均值/标准差?
-
不要使用参差不齐的数组。如果需要,制作一个数组列表并循环