回答編集履歴
1
マジックナンバーを消し忘れたため修正
answer
CHANGED
@@ -1,8 +1,10 @@
|
|
1
1
|
> TypeError: unhashable type: 'numpy.ndarray'
|
2
|
+
|
2
3
|
numpy.ndarray は unhashable なので辞書のキーにはできないということです。
|
3
4
|
(hashable なものしか辞書のキーにはできません)
|
4
5
|
|
5
6
|
このようにすればいいでしょう。
|
7
|
+
range(0,10) を range(len(data)) に修正しました。
|
6
8
|
|
7
9
|
```Python
|
8
10
|
import numpy as np
|
@@ -13,8 +15,10 @@
|
|
13
15
|
usecols=(1,2,3)
|
14
16
|
)
|
15
17
|
|
16
|
-
keys = [(int(data[i:i+1,0:1]), int(data[i:i+1,1:2])) for i in range(0,10)]
|
18
|
+
# keys = [(int(data[i:i+1,0:1]), int(data[i:i+1,1:2])) for i in range(0,10)]
|
17
|
-
values = [int(data[i:i+1,2:3]) for i in range(0,10)]
|
19
|
+
# values = [int(data[i:i+1,2:3]) for i in range(0,10)]
|
20
|
+
keys = [(int(data[i:i+1,0:1]), int(data[i:i+1,1:2])) for i in range(len(data))] # 10 削除
|
21
|
+
values = [int(data[i:i+1,2:3]) for i in range(len(data))] # 10 削除
|
18
22
|
dic = {n:values[i] for i,n in enumerate(keys)}
|
19
23
|
print(dic) # {(2, 20): 100, (4, 18): 200, ...}
|
20
24
|
```
|