是否可以将数组切片以倒退?
我有一个以 1 为增量从 0 到 360 的经度值数组。
举个例子:
longitude = np.arange(1,361,1)
print(longitude)
[ 1 2 3 4 5 6 7 8 9 ... 360]
有没有办法对经度数组进行切片,以便我只以 1 为增量包含 1:20 和 275:360?
所以值 1 到 20 (1, 2, 3 ...) 和值 275 到 360 (275, 276, 277 ...)
我试过类似的东西:
test = longitude[1:10:275:360]
但是从 python 的切片方法中,它认为它是 [start:stop:step size]...并且我收到一个错误:
File "<ipython-input-73-39c4381fa9dd>", line 1
test = longitude[1:10:275:360]
^
SyntaxError: invalid syntax
我该如何解决这个问题?
回答
使用np.r_:
longitude[np.r_[1:10, 275:360]]
输出:
array([ 2, 3, 4, 5, 6, 7, 8, 9, 10, 276, 277, 278, 279,
280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318,
319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331,
332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357,
358, 359, 360])