我需要用字母' K'替换下面数组中的一些字母。但每次我使用numpy.replace
然后numpy.delete
时,它都会改变我的数组的形状。有没有办法在不更改数组形状的情况下更改数组中的选定字母?
AA = [['A', 'B', 'C']]
AA = np.array(AA)
AA = np.repeat(AA, 5, axis=0)
AA = np.delete(AA, (1))
AA = np.insert(AA, (1), 'K')
我希望能够使用' K'替换let数组中的任何字母。
有一种简单的方法吗?
答案 0 :(得分:0)
我不清楚你想要完成什么,以及你如何想象事情会变成现实。
你从一个5 X 3阵列开始, 然后你删除一个元素 现在你有14个元素。你想象它会是什么形状?
也许你想直接分配
AA[1,2]='K'
答案 1 :(得分:0)
如果您想将一个字母的每个实例替换为另一个字母,请尝试
A = np.array(list('ABC'))
A = np.repeat(A, 5, axis=0)
A[np.where(A == 'A')] = 'K'
numpy函数numpy.where(A == 'A')
返回一组索引,指示A
中字母"A"
的位置。然后,我们使用这些索引对A
数组进行切片并进行重新分配。更明确地说,
inds = np.where(A == 'A')
A[inds] = 'K'
此外,如果你想选择一个索引(比如数组中的位置1),并用' K'替换那个字母和所有类似的字母,你可以做类似的事情
A = np.array(list('ABC'))
A = np.repeat(A, 5, axis=0)
A[np.where(A == A[1])] = 'K'