如何删除元素到mxnet NDArray?

时间:2019-01-17 04:07:39

标签: python numpy multidimensional-array mxnet

在numpy中,可以使用numpy.delete()删除数组中的元素。 现在,我使用mxnet ndarray计算数据,但是遇到了问题。

如何删除 mxnet ndarray 的元素?

1 个答案:

答案 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项数组,然后将其串联起来,而无需删除该数组。