Python NumPy の TypeError: iteration over a 0-d array エラーを修正する

Vaibhav Vaibhav 2022年4月14日
Python NumPy の TypeError: iteration over a 0-d array エラーを修正する

エラー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
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

関連記事 - Python Array

関連記事 - Python Error