python - 这是在一行代码中向 numpy 数组添加额外维度的最佳方法吗?

标签 python arrays python-3.x numpy reshape

如果 k 是一个任意形状的 numpy 数组,那么 k.shape = (s1, s2, s3, ..., sn),我想 reshape 它以便 k.shape 变成 (s1, s2, ..., sn, 1),这是最好的一行代码吗?

k.reshape(*(list(k.shape) + [1])

最佳答案

这样更容易:

k.reshape(k.shape + (1,))

但如果你只想在最后添加一个空维度,你应该使用 numpy.newaxis:

import numpy as np
k = k[..., np.newaxis]

k = k[..., None]

(参见 documentation on slicing)。

关于python - 这是在一行代码中向 numpy 数组添加额外维度的最佳方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17835121/

相关文章:

php - 检查一个数组是否包含 Doctrine 查询生成器中另一个数组的任何元素

c++ - 我如何输出二维数组 C++ 的行总和

python - 从源代码安装 python3.5 后如何修复 virtualenv 的 python pip 段错误(核心转储)响应

python - 使用 Python3 字符串格式化迷你语言打印带标点的大整数

python - 比较两个 Pandas Dataframe 中的数据的 bool 逻辑

变量中的 Python 字符串方法

python - 新型扭曲 react 堆的制作方法?

java - Jmeter 没有获得我的 csv 文件中正确的行数

python - EXPRESSION_STMT 在 Python 语法中如何工作?

php - CSS/HTML/PHP 显示交替数组列表(Google Chrome 扩展)