質問編集履歴

1 質問内容の改善

wpspring0300

wpspring0300 score 9

2018/08/24 09:53  投稿

時間変化するデータの重心の出し方
pythonを使ってcsvファイル(1時間当たりの消費電力)の重心を出したいのですが,出し方がわからないので教えていただきたいです。
k-means法を実装した際,データの重心とクラスタの重心の距離を測りクラスタの所属を決めているのですが,データの重心とクラスタの重心の表示のさせ方がわからないので教えていただきたいです。
ちなみに使用するデータは540軒分の1日の1時間あたりの消費電力です。
```python
import pandas as pd
import numpy as np
import glob
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
df = glob.glob('*_m.csv')
df2 = pd.DataFrame()
for i in range(546):
   i +=1
   a = df[i-1]
   df1 = pd.read_csv(f'{a}')
   df3 = df1.groupby(df1.index // 60).mean()
   for l in range(24):
       l += 1
       df2.loc[l-1,i] = df3.iloc[l-1,1] + df3.iloc[l-1,2]
array = np.array(df2)
array = array.T
pred = KMeans(n_clusters=30).fit_predict(array)
for n in range(30):
   df4 = pd.DataFrame()
   n += 1
   for i in range(546):
       i +=1
       if pred[i-1] == n-1:
           for l in range(24):
               l +=1
               df4.loc[l-1,i-1] = df2.iloc[l-1,i-1]
           df4.to_csv(f'30{n-1}.csv')
```
エラーなどはなく実行できるのですが評価を行う際に分散などを調べたいのでクラスタとデータの重心の出し方を知りたいです。
  • Python

    14652 questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

  • Python 3.x

    11947 questions

    Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る