基于经纬度构建KMeans模型时遇TypeError错误求助
解决KMeans聚类时的TypeError错误
错误原因
你在选取DataFrame经纬度列时的写法有误:train_df[['Latitude'], ['Longitude']] 传递了两个独立列表作为索引键,但pandas DataFrame的索引器仅接受单个包含目标列名的列表,这直接触发了TypeError。
修正后的代码
# 基于经纬度构建KMeans聚类模型并获取聚类标签 from sklearn.cluster import KMeans # 正确选取多列:将所有目标列名放在同一个列表中 X_train_lat_long = train_df[['Latitude', 'Longitude']].to_numpy() kmeans = KMeans(n_clusters=4).fit(X_train_lat_long) kmeans.labels_
关键说明
- 选取DataFrame多列时,必须把所有列名封装进同一个列表,格式为
df[['列名1', '列名2']] - 若仅选取单列,可使用
df['列名'](返回Series)或df[['列名']](返回DataFrame)
内容的提问来源于stack exchange,提问作者Olumide Olaoye
相关产品推荐
相关产品推荐

