Python 列表给出了 Numpy 数组的错误?
Posted
技术标签:
【中文标题】Python 列表给出了 Numpy 数组的错误?【英文标题】:Python List Gives an Error of Numpy Array? 【发布时间】:2022-01-01 08:54:07 【问题描述】:我有一个二维列表,其中包含 ([0,1,2],[3,4,5]) 之类的元素。它的元素类型是 numpy.ndarray。我正在尝试删除每个元素的第二列。当我检查它的类型时,它返回列表但它给出了ValueError: cannot delete array elements
错误。我检查了 ***,但没有找到类似的案例。代码如下,不胜感激。
for row in trainSet:
del row[1]
【问题讨论】:
这能回答你的问题吗? Deleting Elements from an array 您检查过列表中子数组的类型吗? 不,正如我提到的,我使用列表而不是数组。 我的列表由“numpy.ndarray”组成,我刚刚意识到这一点。那怎么删除那一栏,我还是一头雾水 这已经是一个列表了,我只是想检查一下。 【参考方案1】:它是一个包含 numpy 数组的列表
import numpy as np
trainSet = np.array([[0,1,2],[3,4,5]])
#wrong way list(trainSet) # this do not convert nested lists
trainSet = list(map(lambda x: x.tolist(),trainSet)) #to make sure it is a list, do not contain nested numpy arrays
for row in trainSet:
del row[1]
print(trainSet)
[[0, 2], [3, 5]]
【讨论】:
你拯救了我的一天,非常感谢!以上是关于Python 列表给出了 Numpy 数组的错误?的主要内容,如果未能解决你的问题,请参考以下文章
为什么内置函数abs()不能用于Python列表,但却能正确地用于NumPy数组和pandas数列(因为它会被向量化)?
Python + alglib + NumPy:如何避免将数组转换为列表?