微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – ndarray列表的列表

我试图在scipy中使用kmeans聚类,正是这里的一个

http://docs.scipy.org/doc/scipy/reference/generated/scipy.cluster.vq.kmeans.html#scipy.cluster.vq.kmeans

我想要做的是转换列表列表,如下所示:

data without_x[
[0,20.0,1.0,48.0,1224.0,125.5,3156.0,0],[0,22.5,56.0,41.5,85.5,1495.0,3496.5,2715.0,5566.5,0]
]

进入一个ndarry,以便与Kmeans方法一起使用.当我尝试将列表列表转换为ndarray时,我得到一个空数组,从而排除了整个分析. ndarray的长度是可变的,它取决于收集的样本数量.但是我可以轻松搞定
    LEN(data_without_x)

这是返回空列表的代码片段.

import numpy as np
import "other functions"

data,data_without_x = data_preparation.generate_sampled_pdf()
nodes_stats,k,list_of_list= result_som.get_number_k()

data_array = np.array(data_without_x)
whitened = whiten(data_array)
centroids,distortion = kmeans(whitened,int(k),iter=100000)

这就是我得到的输出只是保存在一个简单的日志文件中:

___________________________
this is the data array[[ 0.  0.  0. ...,0.  0.  0.]
 [ 0.  0.  0. ...,0.  0.  0.]
 ...,[ 0.  0.  0. ...,0.  0.  0.]]
___________________________
This is the whitened array[[ nan  nan  nan ...,nan  nan  nan]
 [ nan  nan  nan ...,nan  nan  nan]
 ...,[ nan  nan  nan ...,nan  nan  nan]]
___________________________

有没有人知道当我尝试将列表列表转换为numpy.array时会发生什么?

谢谢你的帮助

最佳答案
这正是如何将列表列表转换为python中的ndarray.您确定您的data_without_x填写正确吗?在我的机器上:

data = [[1,2,3,4],[4,5,6,7,8]]
data_arr = np.array(data)

data_arr
array([[1,[5,8]])

这是我认为你期待的行为

看看你的输入你有很多零…请记住,打印输出并没有显示所有这些.您可能只是看到输入中的所有“零”.检查特定的非零元素以确定

原文地址:https://www.jb51.cc/python/439570.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐