我有以下数组:
myarray
array([4805, 5019, 5066, 5033, 5089, 5068, 5103, 5111, 5098, 5112, 5036,
5010])
我正在尝试使用sklearn函数
来规范化数据sklearn.preprocessing.normalize(myarray)
我收到以下错误消息
/...python3.4/site-packages/sklearn/preprocessing/data.py in normalize(X, norm, axis, copy)
551 norms[norms == 0.0] = 1.0
552 elif norm == 'l2':
--->553 norms = row_norms(X)
554 norms[norms == 0.0] = 1.0
555 X /= norms[:, np.newaxis]
/.../python3.4/site-packages/sklearn/utils/extmath.py in row_norms(X, squared)
63 norms = csr_row_norms(X)
64 else:
---> 65 norms = np.einsum('ij,ij->i', X, X)
66
67 if not squared:
ValueError: einstein sum subscripts string contains too many subscripts for operand 0
我将数组转换为pandas.Series但我仍然收到相同的错误消息。
非常感谢任何建议。
答案 0 :(得分:0)
我遇到了同样的问题。我在这个领域没有很多经验,但我认为这是因为normalize
需要一个矩阵。如果您要对列表进行规范化,请查看Normalizing a list of numbers in Python。