在numpy中,可以使用numpy.delete()删除数组中的元素。 现在,我使用mxnet ndarray计算数据,但是遇到了问题。
如何删除 mxnet ndarray 的元素?
答案 0 :(得分:1)
没有内置方法可以从数组中删除单个元素,因为通常不需要。你是什么情况为什么要删除元素?
您可以编写自定义代码来做到这一点。这是一个示例,如果您具有一维数组,并且可以确保代码不可混合,那该怎么做:
import mxnet as mx
def remove_element_by_index(data, index):
split_data = mx.nd.split(data, num_outputs=data.shape[0], axis=0)
data_no_element = split_data[:index] + split_data[index + 1:]
return mx.nd.concat(*data_no_element, dim=0)
data = mx.nd.array([1, 2, 3])
print(remove_element_by_index(data, 0))
print(remove_element_by_index(data, 1))
print(remove_element_by_index(data, 2))
基本上,此代码将数组拆分为多个1项数组,然后将其串联起来,而无需删除该数组。