python - NumPy 一维数组切片

标签 python arrays numpy slice

我有一个像这样的 NumPy 数组:

a = np.array([1,2,3,4,0,0,5,6,7,8,0,0,9,10,11,12])

在某些位置选择除值(在我的示例中为 0)之外的所有值的最有效方法是什么?

所以我需要得到一个数组:

[1,2,3,4,5,6,7,8,9,10,11,12]

我知道如何使用 [::n] 构造跳过第 n 个值,但是是否可以使用类似的语法跳过多个值?

感谢您的帮助!

最佳答案

你可能想要 np.delete :

>>> np.delete(a, [4, 5, 10, 11])
array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12])

关于python - NumPy 一维数组切片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27225613/

相关文章:

python - 将大彩色图像保存为 `GTiff` 和 `gdal`

python - 我可以将其表示为生成器/协程吗?

python - Pandas 查找一系列日期 24 小时内的行

javascript - 在 O(1) 时间内从数组中删除元素的方法

python - 调用函数数组

python - 给定条件的矩阵上的 Numpy 高级索引

python - .combine_first 用于合并多行

python - 每张工作表有多个数据框,每个工作簿有多个工作表

objective-c - 变长c数组

javascript - 在 Chart.js 工具提示中显示 PHP 数组