diary={}
ter=0
forindex,rowiroids。iterrows():
ates=[row['ppg'],row['atr']
diary[ter]=ates
ter+=1
&ionary
再定义用来计算点到中心欧式距离的函数。这里导入了用于数学计算的math库。
In[11]:importmath
In[12]:defcalculate_distaroid,player_value):
root_distance=0
fe(0,leroid)):
differeroid[x]-player_value[x]
squared_difference=difference**2
root_distance+=squared_difference
euclid_distah。sqrt(root_distance)
&urneuclid_distance
定义函数用来计算每个点到中心的距离,并把它分配到距离最近的中心所在的那个簇。
In[13]:defassign_to_cluster(row):
player=[row['ppg'],row['atr']]
&=-1
clus_id=-1
fortroidiroids_dict。items():
distae_distaroid,player)
iflowest_dist==-1:
&=distance
clus_id=clu_id
&ance0:
&roids_ditroids_diew
nba['cluster']=nba。apply(assign_to_cluster,axis=1)