Python 如何使用numpy mgrid或meshgrid完成简单的任务
我有一件简单的事情要做,但我仍然没有成功地使用numpymgrid和meshgrid。 我有一个100个元素的numpy向量:Python 如何使用numpy mgrid或meshgrid完成简单的任务,python,arrays,numpy,vector,Python,Arrays,Numpy,Vector,我有一件简单的事情要做,但我仍然没有成功地使用numpymgrid和meshgrid。 我有一个100个元素的numpy向量: [0,0,0...0] 我想创建一个类似这样的1000x100numpy数组,每次将一个向量值增加0.1,当达到1.0时切换到下一个向量值。 因此,第一次迭代应该给我: [0.1 0 0..0] [0.2 0 0..0] . . [0.9 0 0..0] [1.0 0 0..0] 从现在开始,我应该迭代第二个向量数,保留前面的值: [1.0 0.1 0 0..0]
[0,0,0...0]
我想创建一个类似这样的1000x100
numpy数组,每次将一个向量值增加0.1
,当达到1.0
时切换到下一个向量值。
因此,第一次迭代应该给我:
[0.1 0 0..0]
[0.2 0 0..0]
.
.
[0.9 0 0..0]
[1.0 0 0..0]
从现在开始,我应该迭代第二个向量数,保留前面的值:
[1.0 0.1 0 0..0]
[1.0 0.2 0 0..0]
[1.0 0.3 0 0..0]
等等。最终的矩阵应该是1000x100,但我不需要把所有的值都放在一个大的numpy数组中——迭代并在每次迭代时生成相应的向量就足够了。
提前谢谢 这里有一种使用
初始化的方法
和-
样本运行-
In [140]: create_stepped_cols(3)
Out[140]:
array([[ 0.1, 0. , 0. ],
[ 0.2, 0. , 0. ],
[ 0.3, 0. , 0. ],
[ 0.4, 0. , 0. ],
[ 0.5, 0. , 0. ],
[ 0.6, 0. , 0. ],
[ 0.7, 0. , 0. ],
[ 0.8, 0. , 0. ],
[ 0.9, 0. , 0. ],
[ 1. , 0. , 0. ],
[ 1. , 0.1, 0. ],
[ 1. , 0.2, 0. ],
[ 1. , 0.3, 0. ],
[ 1. , 0.4, 0. ],
[ 1. , 0.5, 0. ],
[ 1. , 0.6, 0. ],
[ 1. , 0.7, 0. ],
[ 1. , 0.8, 0. ],
[ 1. , 0.9, 0. ],
[ 1. , 1. , 0. ],
[ 1. , 1. , 0.1],
[ 1. , 1. , 0.2],
[ 1. , 1. , 0.3],
[ 1. , 1. , 0.4],
[ 1. , 1. , 0.5],
[ 1. , 1. , 0.6],
[ 1. , 1. , 0.7],
[ 1. , 1. , 0.8],
[ 1. , 1. , 0.9],
[ 1. , 1. , 1. ]])
In [141]: create_stepped_cols(100).shape
Out[141]: (1000, 100)
In [140]: create_stepped_cols(3)
Out[140]:
array([[ 0.1, 0. , 0. ],
[ 0.2, 0. , 0. ],
[ 0.3, 0. , 0. ],
[ 0.4, 0. , 0. ],
[ 0.5, 0. , 0. ],
[ 0.6, 0. , 0. ],
[ 0.7, 0. , 0. ],
[ 0.8, 0. , 0. ],
[ 0.9, 0. , 0. ],
[ 1. , 0. , 0. ],
[ 1. , 0.1, 0. ],
[ 1. , 0.2, 0. ],
[ 1. , 0.3, 0. ],
[ 1. , 0.4, 0. ],
[ 1. , 0.5, 0. ],
[ 1. , 0.6, 0. ],
[ 1. , 0.7, 0. ],
[ 1. , 0.8, 0. ],
[ 1. , 0.9, 0. ],
[ 1. , 1. , 0. ],
[ 1. , 1. , 0.1],
[ 1. , 1. , 0.2],
[ 1. , 1. , 0.3],
[ 1. , 1. , 0.4],
[ 1. , 1. , 0.5],
[ 1. , 1. , 0.6],
[ 1. , 1. , 0.7],
[ 1. , 1. , 0.8],
[ 1. , 1. , 0.9],
[ 1. , 1. , 1. ]])
In [141]: create_stepped_cols(100).shape
Out[141]: (1000, 100)