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:如何避免将数组转换为列表?

numpy数组的堆叠:numpy.stack, numpy.hstack, numpy.vstack

NumPy 数组和 python 列表有啥区别? [复制]

Python将numpy数组的列表转换为2d数组

如何在python中将列表保存为numpy数组?