前提・実現したいこと
配列の要素全てを型変換したいです
以下のようなデータをfloatからintに変換したいです。
data = [[ 722. 1386.] [ 761. 327.] [ 797. 1449.] [ 848. 1276.] [ 852. 994.] [ 868. 1262.] [ 960. 1912.] [1024. 180.] [1148. 2019.] [1170. 2177.] [1179. 1349.] [1191. 1800.] [1203. 403.] [1257. 1935.] [1298. 2397.] [1328. 1482.] [1386. 285.] [1394. 2097.] [1405. 1987.] [1436. 2461.] [1439. 820.] [1457. 2412.] [1458. 1761.]]
python
1data1 = [] 2for i in range(data.shape[0]): 3 for j in range(data.shape[1]): 4 data1[i][j] = int(data[i][j]) 5 print(type(data1[i][j]))
発生している問題・エラーメッセージ
--------------------------------------------------------------------------- IndexError Traceback (most recent call last) <ipython-input-18-06731334e397> in <module> 2 for i in range(data.shape[0]): 3 for j in range(data.shape[1]): ----> 4 data1[i][j] = int(data[i][j]) 5 print(type(data1[i][j])) IndexError: list index out of range
これはdata1というリストの生成の仕方がよくないのでしょうか?
他にも
python
1for i in range(data.shape[0]): 2 for j in range(data.shape[1]): 3 data[i][j] = int(data[i][j]) 4 print(type(data[i][j]))
としたところtypeはfloatのままで変わりませんでした。何故int型にならなかったか、こちらもわかりませんでした。
補足情報(FW/ツールのバージョンなど)
jupyterでpython3を使用しております。
dataの定義でエラーになります。
間違っていませんか?
回答1件
あなたの回答
tips
プレビュー