首页 > 解决方案 > Numpy 矩阵没有变平

问题描述

我正在尝试展平 Numpy 数组,但展平、拉维尔和 hstack 没有这样做。我需要能够从数组中创建一个 Pandas 系列,但我似乎无法让 Pandas 接受它:

print(type(centroids))
# <class 'numpy.matrix'>

print(centroids.shape)
# (5, 9328)

centroid = centroids[i]
centroid = np.hstack(centroid)

print(centroid)
# [[ 0.98487911  0.7483803  11.80978353 ...  0.97687837  0.21988038
   3.33842549]]  <-- still enclosed by two brackets

print(centroid.shape)
# (1, 9328)

centroid = pd.Series(centroid, name='value') <-- throws exception: Exception: Data must be 1-dimensional

标签: pythonpandasnumpymatrix

解决方案


问题是质心是一个 np.matrix,而不是一个数组。如果您只需将最后一行更改为:

centroid = pd.Series(np.array(centroid).ravel(), name='value')

推荐阅读