回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我试图使用scipy中的kmeans集群,正是这里的一个:</p>
<p><a href="http://docs.scipy.org/doc/scipy/reference/generated/scipy.cluster.vq.kmeans.html#scipy.cluster.vq.kmeans" rel="noreferrer">http://docs.scipy.org/doc/scipy/reference/generated/scipy.cluster.vq.kmeans.html#scipy.cluster.vq.kmeans</a></p>
<p>我要做的是转换一个列表列表,如下所示:</p>
<pre><code>data without_x[
[0, 0, 0, 0, 0, 0, 0, 20.0, 1.0, 48.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1224.0, 125.5, 3156.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 22.5, 56.0, 41.5, 85.5, 0, 0, 0, 0, 0, 0, 0, 0, 1495.0, 3496.5, 2715.0, 5566.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
]
</code></pre>
<p>进入ndarry以便与Kmeans方法一起使用。当我试图将list的列表转换为ndarray时,得到一个空数组,从而使整个分析无效。ndarray的长度是可变的,它取决于收集的样本数。但我可以很容易地
len(没有x的数据)</p>
<p>下面是返回空列表的代码片段。</p>
<pre><code>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)
</code></pre>
<p>这就是我在一个简单的日志文件中保存的输出:</p>
<pre><code>___________________________
this is the data array[[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]
[ 0. 0. 0. ..., 0. 0. 0.]
...,
[ 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]
...,
[ nan nan nan ..., nan nan nan]
[ nan nan nan ..., nan nan nan]
[ nan nan nan ..., nan nan nan]]
___________________________
</code></pre>
<p>有人知道当我试图将列表列表转换成numpy.array时会发生什么吗?</p>
<p>谢谢你的帮助</p>