不能在嵌套列表上使用scipy stats函数

时间:2015-06-12 18:25:44

标签: python numpy statistics scipy nested-lists

我一直在尝试scipy.mstats.zscore一个有意组织成嵌套列表的数据集,它给出了:

TypeError: unsupported operand type(s) for /: 'list' and 'long'

这可能表明scipy.stats不适用于嵌套列表。

我该怎么办?当以“子集”方式应用于数据集时,for循环是否会影响zscore的性质?

e.g。

dataset = [[1.5,3.3,2.6,5.8],[1.5,3.2,5.6,1.8],[2.5,3.1,3.6,5.2]]
zscore_dataset = zscore(dataset)

VS

zscore_dataset = []
for zscore_list in zscore_dataset,
    list = zscore(zscore_list)
    zscore_dataset.append(zscore_dataset)

1 个答案:

答案 0 :(得分:1)

您需要在反映嵌套列表的numpy.array上应用它。

from scipy import stats
import numpy as np

dataset = np.array([[1.5,3.3,2.6,5.8],[1.5,3.2,5.6,1.8],[2.5,3.1,3.6,5.2]])
stats.mstats.zscore(dataset)

工作正常。