python - 如何更优雅地构造一个 2 的幂数的 numpy 数组?

标签 python numpy jupyter-notebook numpy-ndarray

我想弄清楚如何在不将每个值都放入每只手的情况下创建这个数组。

有没有一种方法可以让我知道除了第一个值之外,每个值都是其前一个值的两倍?

我的代码如下:


import numpy as np

Matrix = np.array([1,2,4,8,16,32,64,128,256]).reshape (3,3)

print(Matrix)

最佳答案

您可以使用 np.arange ,并利用它们是 2 的幂这一事实:

2**np.arange(9).reshape(-1, 3)

array([[  1,   2,   4],
       [  8,  16,  32],
       [ 64, 128, 256]], dtype=int32)

关于python - 如何更优雅地构造一个 2 的幂数的 numpy 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56063243/

相关文章:

python - 只有最后一个变量传递给回调函数

python - PySide2 - 如何在标签上显示 "count of unread"?

python - 使用 numpy 拟合多项式随 dtype 变化,即使实际数据值保持不变

python - 如何在 pandas dataframe python 中将名称的第一个字符转换为大写?

markdown - ipython nbcovert 不显示 latex 公式

python - Flask: session 最大尺寸太小

python - Numpy 和 Scipy 在 Windows 上的安装

python - 根据多个值过滤 numpy 结构化数组

python - numpy:源代码中的循环定义

html - 本地 HTML 文件的 IFrame 未在 Jupyter nbviewer 中显示