python - 创建一个包含 1 列和数据列的矩阵
问题描述
我的 x 变量有 100 个数据点,我想将它们放入一个矩阵中,但在矩阵中也有一列在 1 之前。所以它看起来像 [1 1 1 .... [x1 x2 .....]
有没有办法做到这一点?
解决方案
假设数组是一个 numpy 数组:
import numpy as np
xs = np.random.random(size=100)
ones = np.ones(shape=len(array))
输出:
# xs (100 values)
array([3.50037538e-01, 1.08917935e-01, 7.91498597e-01, 3.60795423e-01,
...
5.72706863e-01, 4.58894874e-01, 2.42843260e-01, 6.09427238e-01])
# ones (100 values)
array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
...
1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.])
在同一维度合并两者
>>> np.r_[ones, xs]
np.array([1., 1., ... 1., 3.50037538e-01, 1.08917935e-01, ...])
合并为列
>>> np.c_[ones, xs]
array([[1.00000000e+00, 3.50037538e-01],
[1.00000000e+00, 1.08917935e-01],
[1.00000000e+00, 7.91498597e-01],
...
[1.00000000e+00, 6.09427238e-01]])
假设一个列表
x_list = xs.tolist()
ones_list = [1]*len(x_list)
输出:
# x_list (100 values)
[3.50037538e-01, 1.08917935e-01, 7.91498597e-01, 3.60795423e-01,
...
5.72706863e-01, 4.58894874e-01, 2.42843260e-01, 6.09427238e-01]
# ones_list (100 values)
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
...
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1])
在同一维度合并两者
>>> x_list+ones_list
[1, 1,..., 1, 3.50037538e-01, 1.08917935e-01, ...]
在第二维中合并两者
>>>> list(zip(ones_list, x_list))
[(1, 0.3500375382514712),
(1, 0.10891793499403313),
...
(1, 0.6094272384712242)]
推荐阅读
- java - Android:模拟文本输入的正确方法(不是按键输入)
- javascript - 错误:不变量失败:您不应该使用
外面 使用 mbdreact - sql - 需要帮助来优化 ORACLE SQL 查询
- spring - 如何在 application.yml 中同时设置 logging.file 和 logging.file.max-size
- java - 如何将 Apache flink 连接到 rabbitmq?
- javascript - 使用ajax上传多个文件
- android - 如何解决“必须从 UI 线程调用方法 findViewById,当前推断的线程是工作线程少”
- javascript - classList.add() 在 JavaScript 中不起作用
- python - 使用 Python3 gstreamer1.0 和 pylonsrc 使用 basler 相机和 pylon5 在处理循环中出现错误
- php - 根据 WooCommerce 变体中的特定税种显示税额