前提・実現したいこと
pythonを始めたばかりで調べてもわからず困っています。
jismeshをつかって地域メッシュコードから中心点の座標を表示させる。
Excelにまとめた、とある市の3次メッシュコード(749個)をpythonに読み込ませた。そのメッシュコードをfor文を使って上から順に代入して一気に全部表示させたい。
発生している問題・エラーメッセージ
IndexError: too many indices for array: array is 1-dimensional, but 3 were indexed
該当のソースコード
python
1import jismesh.utils as ju 2import pandas as pd 3 4df = pd.read_excel("C:/Users/user/Desktop/excel/Key.xlsx",skiprows=1,usecols="A") 5 6keycode = [df] 7 8for point in keycode: 9 lat_c, lon_c = ju.to_meshpoint(keycode, 0.5, 0.5) 10 11 12 13 14[追記] 15import jismesh.utils as ju 16import pandas as pd 17 18df = pd.read_excel("C:/Users/user/Desktop/excel/Key.xlsx") 19 20print(df) 21 22df['lat'], df['lon'] = ju.to_meshpoint(df, lat_multiplier=0.5, lon_multiplier=0.5) 23 24print(df) 25 26[実行結果] 27 28 52350149 290 52350149 301 52350159 312 52350159 323 52350169 334 52350169 34.. ... 35743 52351020 36744 52351021 37745 52351023 38746 52351024 39747 52351030 40 41[748 rows x 1 columns] 42Traceback (most recent call last): 43 File "c:\Users\user\Desktop\Python\3mesh.py", line 8, in 44<module> 45 df['lat'], df['lon'] = ju.to_meshpoint(df, lat_multiplier=0.5, 46lon_multiplier=0.5) 47 File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\jismesh\utils\__init__.py", line 46, in to_meshpoint return to_meshpoint(meshcode, lat_multiplier, lon_multiplier) 48 File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\jismesh\utils\_vector.py", line 493, in to_meshpoint lat += unit_lat(level)*lat_multiplier 49 File "C:\Users\user\AppData\Local\Programs\Python\Python310\lib\site-packages\jismesh\utils\_vector.py", line 57, in unit_lat 50 lat[level==1] = _unit_lat_lv1() 51IndexError: too many indices for array: array is 1-dimensional, but 2 were indexed 52
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/01/06 08:42
2022/01/06 09:15
2022/01/06 09:43
2022/01/06 09:49
2022/01/06 09:58
2022/01/06 10:45
2022/01/06 11:07