首页 > 解决方案 > 删除和添加值到 numpy 数组

问题描述

有没有更有效的方法从开头删除 0 并在末尾插入 20 并保留形状 (1, 20)?

# What I have.
array = np.arange(20)[np.newaxis]
print(array.shape, array)

# Remove 0 from the beginning and add 20 to the end.
array = np.append(array[0, 1:], np.array([[20]]))
print(array)
array = array[np.newaxis]
print(array.shape, array)

输出:

(1, 20) [[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19]]
[ 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20]
(1, 20) [[ 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20]]

标签: pythonarraysnumpy

解决方案


您可以只选择当前数组的一个子集,不包括第一个元素,然后在最后添加 20 或您想要的任何标量。

x = np.append(array[:,1:],[[20]], axis=1)

推荐阅读