在NumPy中操作数组元素

钢笔

我有一个给定的数组“ a”,如下所示:

import numpy as np

a = np.arange(-100.0, 110.0, 20.0, dtype=float) #increase 20
a = np.tile(a, 4)
a = a.reshape(4,11)

[[-100.  -80.  -60.  -40.  -20.    0.   20.   40.   60.   80.  100.]
 [-100.  -80.  -60.  -40.  -20.    0.   20.   40.   60.   80.  100.]
 [-100.  -80.  -60.  -40.  -20.    0.   20.   40.   60.   80.  100.]
 [-100.  -80.  -60.  -40.  -20.    0.   20.   40.   60.   80.  100.]]

从数组'a',我需要制作新的数组'b',如下所示:

[[ 100.   80.   60.   40.   20.    0.  -20.  -40.  -60.  -80. -100.]
 [ 100.   80.   60.   40.   20.    0.  -20.  -40.  -60.  -80. -100.]
 [ 100.   80.   60.   40.   20.    0.  -20.  -40.  -60.  -80. -100.]
 [ 100.   80.   60.   40.   20.    0.  -20.  -40.  -60.  -80. -100.]]

实际上,数组“ b”是:

b =  np.arange(100.0, -110.0, -20.0, dtype=float)
b = np.tile(b, 4)
b = b.reshape(4,11)

但是,在我的实际问题中,实际数据不是固定的,只有a的索引,即a [0,0]是固定的。因此,我必须通过使用索引重塑/重新排列其元素来从数组“ a”产生数组“ b”。

我尝试如下,但无法想象如何获得正确答案:

b = np.flipud(a)
print b

[[-100.  -80.  -60.  -40.  -20.    0.   20.   40.   60.   80.  100.]
 [-100.  -80.  -60.  -40.  -20.    0.   20.   40.   60.   80.  100.]
 [-100.  -80.  -60.  -40.  -20.    0.   20.   40.   60.   80.  100.]
 [-100.  -80.  -60.  -40.  -20.    0.   20.   40.   60.   80.  100.]]

b = np.rot90(a,1)
print b

[[ 100.  100.  100.  100.]
 [  80.   80.   80.   80.]
 [  60.   60.   60.   60.]
 [  40.   40.   40.   40.]
 [  20.   20.   20.   20.]
 [   0.    0.    0.    0.]
 [ -20.  -20.  -20.  -20.]
 [ -40.  -40.  -40.  -40.]
 [ -60.  -60.  -60.  -60.]
 [ -80.  -80.  -80.  -80.]
 [-100. -100. -100. -100.]]

哪些numpy函数适用于此问题?

亚历克斯·赖利

您可以使用np.fliplr

b = np.fliplr(a)
print b

[[ 100.   80.   60.   40.   20.    0.  -20.  -40.  -60.  -80. -100.]
 [ 100.   80.   60.   40.   20.    0.  -20.  -40.  -60.  -80. -100.]
 [ 100.   80.   60.   40.   20.    0.  -20.  -40.  -60.  -80. -100.]
 [ 100.   80.   60.   40.   20.    0.  -20.  -40.  -60.  -80. -100.]]

此函数沿左右方向翻转阵列。

该文档还建议以下等效的分片操作:

a[:,::-1]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在NumPy中操作数组元素

来自分类Dev

在 numpy ndarrays 中操作数组

来自分类Dev

操作数组中的对象

来自分类Dev

元素明智的操作数组朱莉娅

来自分类Dev

如何使用 redux 操作数组的精确元素

来自分类Dev

如何在数组中操作数组

来自分类Dev

尝试使用ArrayList操作数组中的对象

来自分类Dev

操作数中无效的“ in”

来自分类Dev

Verilog中的操作数

来自分类Dev

通过不同的因子来操作数组的元素,而无需为每个元素创建变量

来自分类Dev

尝试使用PHP操作数组

来自分类Dev

尝试使用PHP操作数组

来自分类Dev

PHP-操作数组

来自分类Dev

使用 Javascript 操作数组

来自分类Dev

最小化操作数以使数组的所有元素相等

来自分类Dev

在MATLAB中删除/操作数据

来自分类Dev

Yocto中的“ sh::未知操作数”

来自分类Dev

PDO中的操作数替代

来自分类Dev

tcl脚本中_ @ _缺少操作数

来自分类Dev

在MATLAB中删除/操作数据

来自分类Dev

在Python中操作数据框

来自分类Dev

澄清变量赋值中的操作数

来自分类Dev

确定 Redis 管道中的操作数

来自分类Dev

将列表中的元素移位时,python3返回不受支持的操作数吗?

来自分类Dev

在Visual Studio2012中,“ <<”操作数不适用于字符串数组

来自分类Dev

通过函数输出操作数组中的C错误

来自分类Dev

在Visual Studio2012中,“ <<”操作数不适用于字符串数组

来自分类Dev

嵌套循环数组中不支持的操作数类型

来自分类Dev

数组的 sum 函数中不支持的操作数类型