Python NumPy の TypeError: iteration over a 0-d array エラーを修正する
Vaibhav Vaibhav
2022年4月14日
エラーTypeError: iteration over a 0-d array
は、0
次元の反復可能で反復が実行されたときに発生します。この記事では、Python NumPy で TypeError: iteration over a 0-d array
エラーを修正する方法を学習します。
Python NumPy で発生する TypeError: iteration over a 0-d array
エラーを修正する方法
次の Python コードは、このエラーが発生する可能性のあるシナリオを示しています。
import numpy as np
data = {
"AB": 1.01,
"CD": 2.02,
"EF": 3.03,
"GH": 4.04,
"IJ": 5.05,
}
keys, values = np.array(data.items()).T
print(keys)
print(values)
出力:
Traceback (most recent call last):
File "<string>", line 11, in <module>
TypeError: iteration over a 0-d array
このエラーの背後にある理由は、<class 'dict_items'>
である data.items()
のデータ型です。このエラーを回避するには、そのデータ型をリストまたはタプルに変換する必要があります。次の Python コードは、リストとタプルを使用してこのエラーを修正する方法を示しています。
リストを使用したソリューション。
import numpy as np
data = {
"AB": 1.01,
"CD": 2.02,
"EF": 3.03,
"GH": 4.04,
"IJ": 5.05,
}
print(type(list(data.items())))
keys, values = np.array(list(data.items())).T
print(keys)
print(values)
出力:
<class 'list'>
['AB' 'CD' 'EF' 'GH' 'IJ']
['1.01' '2.02' '3.03' '4.04' '5.05']
以下は、タプルを使用したソリューションです。
import numpy as np
data = {
"AB": 1.01,
"CD": 2.02,
"EF": 3.03,
"GH": 4.04,
"IJ": 5.05,
}
print(type(tuple(data.items())))
keys, values = np.array(tuple(data.items())).T
print(keys)
print(values)
出力:
<class 'tuple'>
['AB' 'CD' 'EF' 'GH' 'IJ']
['1.01' '2.02' '3.03' '4.04' '5.05']
著者: Vaibhav Vaibhav
関連記事 - Python Array
- Python で 2 次元配列を開始する方法
- Python で 1 次元配列内のアイテムの出現をカウントする方法
- Python ダウンサンプル配列
- Python で 2D 配列を並べ替える
- Python でテキストファイルに配列を書き込む
関連記事 - Python Error
- AttributeError の解決: 'list' オブジェクト属性 'append' は読み取り専用です
- AttributeError の解決: Python で 'Nonetype' オブジェクトに属性 'Group' がありません
- AttributeError: 'generator' オブジェクトに Python の 'next' 属性がありません
- AttributeError: 'numpy.ndarray' オブジェクトに Python の 'Append' 属性がありません
- AttributeError: Int オブジェクトに属性がありません
- AttributeError: Python で 'Dict' オブジェクトに属性 'Append' がありません