Numpy生成含固定列与随机列的1000x2数组的Pythonic方法
NumPy 1000x2数组构造的简化实现
有多种更简洁的一行实现方式,推荐以下几种按可读性从高到低排列:
- 方案1:使用
np.column_stack,语义最清晰,直接按列拼接两个一维数组,无需额外转置import numpy as np X = np.column_stack([np.ones(1000), np.random.randn(1000)]) - 方案2:使用
np.c_索引对象,写法更精简,效果和column_stack完全一致import numpy as np X = np.c_[np.ones(1000), np.random.randn(1000)] - 方案3:先初始化目标维度的随机数组,再直接赋值第一列,性能略优(仅做一次数组内存申请)
import numpy as np X = np.random.randn(1000, 2); X[:, 0] = 1
你原本的实现逻辑是正确的,只是多了一步转置操作,上述方案都省略了多余的转置步骤,代码更简洁易读。
内容的提问来源于stack exchange,提问作者XDAF
相关产品推荐
相关产品推荐

