python - 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
解决方案
问题是质心是一个 np.matrix,而不是一个数组。如果您只需将最后一行更改为:
centroid = pd.Series(np.array(centroid).ravel(), name='value')
推荐阅读
- c++ - 如何根据另一个模板参数将模板参数固定为一个枚举类?
- python - 如何在 pandas 数据框中的 period datetime 列中平均填补空白?
- python - Celery 和 Broker 是如何通信的?
- java - 类 MyClass 不能转换为类 MyClass(MyClass 位于加载器 org.glassfish.[...].WebappClassLoader@1 的未命名模块中)
- node.js - Nodejs azure 函数应用程序错误:连接 ETIMEDOUT ipaddress:443
- java - TCP数据包永远不会到达套接字?
- python-3.x - 来自 float32 和 float64 的 TensorFlow 采样
- mysql - 在 sequelize v6 中包含模型的问题排序 [已解决] - 这不是 sequelize 错误
- python - 如何在 PyGame 中更改声音或音乐的音量?
- android - 在我的 Android 应用程序中激活 ProGuard 时 API 不工作