質問編集履歴

1

情報の修正

2018/07/04 13:03

投稿

kaitotokai
kaitotokai

スコア59

test CHANGED
File without changes
test CHANGED
@@ -1,88 +1,4 @@
1
1
  K-means法でデータを文字ごとにプロットしたいです。
2
-
3
- ```ここに言語を入力
4
-
5
- {'ID':'AW0495','NAME':'Tom','AGE':'30','SCORE':'A'}{'ID':'SE2947','NAME':'John','AGE':'21','SCORE':'C'}
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
- {'ID':'AW0495','NAME':'Tom','SCORE2':'B'}
14
-
15
- ```
16
-
17
-
18
-
19
- という連続したjsonがあります。このjsonのSCORE を縦軸に、SCORE2を横軸にしてIDが同じものを散布図のように値をプロットしたいです。縦軸は軸の下からD・C・B・Aの4つの部分に分かれていて、横軸は軸の左からE・D・C・B・Aの5つの部分に分かれています。
20
-
21
- jsonの中には、SCOREかSCORE2かのどちらかしかデータがないIDもあり、そのようなIDのデータは使わないこととします。
22
-
23
- ```ここに言語を入力
24
-
25
- import pandas as pd
26
-
27
- import numpy as np
28
-
29
- from sklearn.cluster import KMeans
30
-
31
- import json
32
-
33
-
34
-
35
- score = []
36
-
37
- score2 = []
38
-
39
- decoder = json.JSONDecoder()
40
-
41
- f = open('data.json', 'r')
42
-
43
-
44
-
45
- for line in f.readlines():
46
-
47
- data = decoder.decode(line)
48
-
49
- if data['SCORE'] != null:
50
-
51
- score.append(data['SCORE’])
52
-
53
- else:
54
-
55
- score2.append(data['SCORE2'])
56
-
57
-
58
-
59
- cust_array = np.array([score,score2])
60
-
61
-
62
-
63
- pred = KMeans(n_clusters=2).fit_predict(cust_array)
64
-
65
-
66
-
67
- ```
68
-
69
- とコードを書きました。
70
-
71
-
72
-
73
- しかし、ValueError: setting an array element with a sequence. とエラーが出ました。
74
-
75
-
76
-
77
- 今コードにたりないのは、
78
-
79
- ・SCOREかSCORE2かのどちらかしかデータがないIDのデータを削除する
80
-
81
- ・縦軸を4つの部分に分け、横軸を5つの部分に分ける
82
-
83
-
84
-
85
- という点です。他にもあるかもしれませんが・・・。
86
2
 
87
3
 
88
4