python - 如何从一维数组创建二维 numpy 数组?

标签 python numpy

我有一个 numpy 数组:

import numpy as np
A = np.array([1,2])

例如,我想制作 n 二维 numpy 数组中两个元素的副本

B=[[1,1,1,1],[2,2,2,2]] # 4 copies of each element of A into a separate array

我该怎么做?

最佳答案

使用np.repeat然后 reshape -

np.repeat(A,4).reshape(-1,4)

reshape(-1,4) 基本上保持 4 列数,-1 指定它来计算行数基于要 reshape 的数组的总大小。因此,对于给定的样本,因为 np.repeat(A,4).size8,它指定 8/4 = 2 作为行数。因此,它将 np.repeat(A,4) reshape 为形状为 (2,4)2D 数组。

或者在使用None/np.newaxisA扩展为2D之后使用np.repeat -

np.repeat(A[:,None],4,axis=1)

或者使用np.tile在扩展版本上-

np.tile(A[:,None],4)

关于python - 如何从一维数组创建二维 numpy 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42914257/

相关文章:

python - 将ffmpeg安装到虚拟环境

python - python纸牌游戏使用什么框架?

python - 在 pandas 数据框中查找到下一个更高值的距离

numpy - 突出单条轮廓线

python - 如何在 Python 中将类方法应用于我自己的类的属性

python - 如何在python中获取字典的key

javascript - 谷歌分析非法 cookie 破坏 Python 后端

python - 使用 N 维立方体的顶点坐标创建 numpy 数组

numpy - k 最近邻中的 ValueError : setting an array element with a sequence at fit(X, y)

python - 根据需要附加 np.newaxis