python、KMeansを用いて、クラスタリングを行おうとすると、Key Error となり、苦慮しております。
こちらが、今回 Key Errorとなります ソースコードでございます。
# -*- coding: utf-8 -*- import pandas as pd import numpy as np import matplotlib.lines as mlines import codecs from sklearn.cluster import KMeans f1 = codecs.open('claster_panda_1_1.csv', 'w', 'utf-8') # データセットを読み込み #読み込ませるデータ cust_df = pd.read_csv("odds_test_1_1.csv" , sep=",") # Pandas のデータフレームから Numpy の行列 (Array) に変換 cust_array = np.array([cust_df['temp(0)'].tolist(), cust_df['temp(1)'].tolist(), cust_df['temp(2)'].tolist(), cust_df['temp(3)'].tolist(), cust_df['temp(4)'].tolist(), cust_df['temp(5)'].tolist(), cust_df['temp(6)'].tolist(), cust_df['temp(7)'].tolist(), cust_df['temp(8)'].tolist(), cust_df['temp(9)'].tolist(), cust_df['temp(10)'].tolist(), cust_df['temp(11)'].tolist(), cust_df['temp(12)'].tolist(), ], np.int32) # 行列を転置 cust_array = cust_array.T # クラスタ分析を実行 (クラスタ数=4) pred = KMeans(n_clusters=4).fit_predict(cust_array) print pred
読み込ませるデータ、odds_test_1_1.csv は、 こちらでございます。
temp(0) temp(1) temp(2) temp(3) temp(4) temp(5) temp(6) temp(7) temp(8) temp(9) temp(10) temp(11) temp(12) arrived 0 0 4 8.1 13.1 12.3 9.1 9.2 6.4 6.6 6.3 6.5 6.9 1 0 6.8 3.7 9.9 16 7 5.3 4.9 5.1 5.1 5.2 4.7 4.7 1 0 3.4 30 61.4 27.8 11.5 11.7 11.9 12.8 13.4 14 14.5 15.6 0 0 3.4 25 9.1 48 38 20.4 17.7 18.3 15 14.6 14.2 14.9 0 0 6.8 9.9 19.7 12.8 13.6 14.3 14 14.2 15 14.3 14.5 15.3 1 0 3.4 25 34.5 156.1 107.4 84.6 59.3 63.2 67.7 65.7 67.2 69.2 0 0 0 37.6 92.2 198.7 137.7 125.3 99.2 90.1 93.8 92.4 93.8 90.9 0 0 0 5.5 12 27.9 28.4 26.9 25.9 27.5 27.4 27.8 27.4 28.7 0 0 0 4.3 1.4 1.1 1.3 1.5 1.7 1.8 1.8 1.8 1.8 1.8 0 0 0 50.1 61.4 118.1 57 58.7 32.5 35.1 38.3 39.5 40.3 42.9 0 0 0 25.6 88.4 88.4 47.1 76.8 70.6 70.6 76.7 81.4 78.9 80.2 0
エラーメッセージは、 KeyError: 'temp(0)' でございます。
ラベル名を変更してもエラーのままでございました。
先輩方の御教示、よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/29 03:53