Python ';numpy.float64';对象不可iterable-meanshift群集

Python ';numpy.float64';对象不可iterable-meanshift群集,python,pandas,numpy,cluster-analysis,mean-shift,Python,Pandas,Numpy,Cluster Analysis,Mean Shift,这里是python新手。我正在尝试运行此代码,但收到错误消息,该对象不可编辑。如果能就我做错了什么给出一些建议,我将不胜感激。谢谢 import matplotlib.pyplot as plt import numpy as np import pandas as pd temp = pd.read_csv("file.csv", encoding='latin-1') xy = temp.ix[:,2:6] X = xy.values 来自itertools导入周期的 颜色=周期('

这里是python新手。我正在尝试运行此代码,但收到错误消息,该对象不可编辑。如果能就我做错了什么给出一些建议,我将不胜感激。谢谢

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

temp = pd.read_csv("file.csv", encoding='latin-1')
xy = temp.ix[:,2:6]
X = xy.values


来自itertools导入周期的

颜色=周期('BGRCMYKBGRCMYKBBGRCMYKBGRCMYK')
类平均位移:
定义初始(自,半径=4):
自半径=半径
def配合(自身、数据):
质心={}
对于范围内的i(len(数据)):
质心[i]=数据[i]
尽管如此:
新的_形心=[]
对于质心中的i:
in_带宽=[]
质心=质心[i]
对于数据中的功能集:
如果np.linalg.norm(特征集质心)<自半径:
in_bandwidth.append(功能集)
新质心=np.平均值(单位带宽,轴=0)
新的_形心。追加(元组(新的_形心))
uniques=已排序(列表(集合(新的_质心)))
prev_质心=dict(质心)
质心={}
对于范围内的i(len(uniques)):
质心[i]=np.数组(唯一[i])
优化=真
对于质心中的i:
如果不是np.数组_相等(质心[i],上一质心[i]):
优化=错误
如果未优化:
打破
如果优化:
打破
self.centroids=质心
def预测(自我、数据):
通过
clf=平均位移()
clf.fit(X)
质心=clf。质心
plt.散射(X[:,0],X[:,1],s=50)
对于质心中的c:
plt.散射(质心[c][0],质心[c][1],颜色='k',标记='*',s=150)
plt.show()
以下是我得到的错误代码:

/Users/carla/anaconda/lib/python3.5/site-packages/numpy/core/_methods.py:59: RuntimeWarning: Mean of empty slice.
  warnings.warn("Mean of empty slice.", RuntimeWarning)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-11-e13932b6e72d> in <module>()
 50 
 51 clf = Mean_Shift()
---> 52 clf.fit(X)
 53 
 54 centroids = clf.centroids

<ipython-input-11-e13932b6e72d> in fit(self, data)
 22 
 23                 new_centroid = np.average(in_bandwidth, axis=0)
---> 24                 new_centroids.append(tuple(new_centroid))
 25 
 26             uniques = sorted(list(set(new_centroids)))

TypeError: 'numpy.float64' object is not iterable
/Users/carla/anaconda/lib/python3.5/site packages/numpy/core/_methods.py:59:RuntimeWarning:Mean of empty slice。
warning.warn(“空片的平均值”,RuntimeWarning)
---------------------------------------------------------------------------
TypeError回溯(最近一次调用上次)
在()
50
51 clf=平均位移()
--->52 clf.配合(X)
53
54质心=clf质心
适合(自我、数据)
22
23新的\u质心=np.平均值(单位带宽,轴=0)
--->24个新的_形心。追加(元组(新的_形心))
25
26 uniques=已排序(列表(集合(新的_质心)))
TypeError:“numpy.float64”对象不可编辑
将标量指定给新的质心,然后尝试抛出错误的元组(标量)

tuple(2.)
---------------------------------------------------------------------------
TypeError回溯(最近一次调用上次)
在()
---->1元组(2)
TypeError:“float”对象不可编辑

MeanShift不能与缺失值(NaN)一起使用。
/Users/carla/anaconda/lib/python3.5/site-packages/numpy/core/_methods.py:59: RuntimeWarning: Mean of empty slice.
  warnings.warn("Mean of empty slice.", RuntimeWarning)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-11-e13932b6e72d> in <module>()
 50 
 51 clf = Mean_Shift()
---> 52 clf.fit(X)
 53 
 54 centroids = clf.centroids

<ipython-input-11-e13932b6e72d> in fit(self, data)
 22 
 23                 new_centroid = np.average(in_bandwidth, axis=0)
---> 24                 new_centroids.append(tuple(new_centroid))
 25 
 26             uniques = sorted(list(set(new_centroids)))

TypeError: 'numpy.float64' object is not iterable
new_centroid = np.average(in_bandwidth, axis=0)
tuple(2.)
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-51-4406f9e676cf> in <module>()
----> 1 tuple(2.)

TypeError: 'float' object is not iterable