修復 Python 中 NumPy 的 0-D 陣列上的迭代錯誤
Vaibhav Vaibhav
2022年5月18日
當迭代在 0
維的可迭代物件上執行時,會出現錯誤 TypeError: iteration over a 0-d array
。在本文中,我們將學習如何修復 Python NumPy 中的 TypeError: iteration over a 0-d array
錯誤。
如何修復 Python NumPy 中的 TypeError:迭代 0-d 陣列
錯誤
以下 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
此錯誤背後的原因是 data.items()
的資料型別,即 <class 'dict_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']
下面是一個使用 tuple
的解決方案。
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 中建立二維陣列
- 如何在 Python 中計算一維陣列中某項的出現次數
- Python 中的滑動視窗
- 在 Python 中將陣列寫入文字檔案
- 在 Python 中對二維陣列進行排序
- 在 Python 中獲取陣列的子陣列