簡體   English   中英

numpy零維數組到1d

[英]numpy zero-dimension array to 1d

我在numpy中有一個數組: [0 1 2 3]

當我嘗試使用a [0]獲取第一個元素時,它拋出: IndexError: too many indices for array

如果我for x in a: print(x)使用for x in a: print(x) Python會TypeError: iteration over a 0-d array拋出TypeError: iteration over a 0-d array

嘗試使用list(a)創建列表會引發TypeError: 'numpy.uint8' object is not iterable

如何將此數字列表轉換為標准列表?

這將有助於您了解如何創建a以便我們可以嘗試重現錯誤。

import numpy as np

a = np.array([0, 1, 2, 3])
print(a[0]) # 0

for x in a:
    print(x) # 0 1 2 3

# you can call list() to convert to a python list
print(list(a))

# you can also call the built-in numpy array method
print(a.tolist())

a = np.array(a)
print(a, type(a)) # [0 1 2 3] <class 'numpy.ndarray'>
print(a[0]) # 0
print(a[1]) # 1

所有這些操作均成功。 Python 3.7.1,Numpy 1.15.4

嘗試使用a=array('[0 1 2 3]', dtype='<U9')檢查數組的類型,我能夠復制兩個錯誤。 如果是這種情況,請嘗試以下操作

b=list(str(a))
newArray=[]
for val in b:
    try:
        newArray.append(int(val))
    except ValueError:
        pass

Python不會像其他一些語言一樣自動將字符串的值更改為intfloat 希望能幫助到你

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM