質問するログイン新規登録

回答編集履歴

2

説明を追加

2021/01/25 23:27

投稿

etherbeg
etherbeg

スコア1195

answer CHANGED
@@ -6,7 +6,7 @@
6
6
  ```python
7
7
  df[26]
8
8
  ```
9
- で DataFrame の値を参照しようとしますがこはエラーになります。正しくは
9
+ で DataFrame の値を参照しようとしますがの文法26という列名の列を取り出す操作ですので、ここではエラーになります。正しくは
10
10
  ```python
11
11
  df.loc[26, "value"]
12
12
  ```

1

説明コードの追加

2021/01/25 23:27

投稿

etherbeg
etherbeg

スコア1195

answer CHANGED
@@ -20,4 +20,18 @@
20
20
  ```
21
21
  となります。
22
22
 
23
- ただしこの修正を行っても、GeoJSONファイルのidの値は1から47であるにも関わらず、それと紐づけたいデータであるはずの DataFrame には 22, 14, 19, 11, 12, 13, 20, 23 のid番号とそれに対応した値しか格納されていませんので、同じ箇所で同様のKeyErrorが発生しエラーになるのは変わりません。
23
+ ただしこの修正を行っても、GeoJSONファイルのidの値は1から47であるにも関わらず、それと紐づけたいデータであるはずの DataFrame には 22, 14, 19, 11, 12, 13, 20, 23 のid番号とそれに対応した値しか格納されていませんので、同じ箇所で同様のKeyErrorが発生しエラーになるのは変わりません。
24
+
25
+ DataFrame の作成部分をたとえば、
26
+ ```python
27
+ data = {
28
+ 'value' : [random.randint(1, 10) for i in range(47)]
29
+ }
30
+ idx = [i for i in range(1, 48)]
31
+ df = pd.DataFrame(data, index=idx)
32
+ ```
33
+ と変更してみれば、エラーなく動くのが確認できるでしょう。この例の場合は冒頭に
34
+ ```python
35
+ import random
36
+ ```
37
+ を追記するのも忘れないでください。