我无法弄清楚如何使用我通常使用列表的方式使用数组或矩阵.我想创建一个空数组(或矩阵),然后一次添加一列(或行).
目前,我能找到的唯一方法就是:
mat = None
for col in columns:
if mat is None:
mat = col
else:
mat = hstack((mat, col))
Run Code Online (Sandbox Code Playgroud)
如果它是一个列表,我会做这样的事情:
list = []
for item in data:
list.append(item)
Run Code Online (Sandbox Code Playgroud)
有没有办法为NumPy数组或矩阵使用这种表示法?
我有一个numpy_array.有点像[ a b c ].
然后我想将它附加到另一个NumPy数组中(就像我们创建一个列表列表一样).我们如何创建包含NumPy数组的NumPy数组数组?
我试着做下面没有任何运气
>>> M = np.array([])
>>> M
array([], dtype=float64)
>>> M.append(a,axis=0)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'numpy.ndarray' object has no attribute 'append'
>>> a
array([1, 2, 3])
Run Code Online (Sandbox Code Playgroud) 大多数在线提供的 Numba、CuPy 等示例都是简单的数组添加,显示了从 CPU 单核/线程到 GPU 的加速。命令文档大多缺乏很好的例子。这篇文章旨在提供一个更全面的例子。
此处提供了初始代码。它是经典元胞自动机的简单模型。最初,它甚至不使用 numpy,只使用简单的 python 和 Pyglet 模块进行可视化。
我的目标是将此代码扩展到特定问题(这将非常大),但首先我认为最好已经针对 GPU 使用进行了优化。
game_of_life.py 是这样的:
import random as rnd
import pyglet
#import numpy as np
#from numba import vectorize, cuda, jit
class GameOfLife:
def __init__(self, window_width, window_height, cell_size, percent_fill):
self.grid_width = int(window_width / cell_size) # cell_size
self.grid_height = int(window_height / cell_size) #
self.cell_size = cell_size
self.percent_fill = percent_fill
self.cells = []
self.generate_cells()
def generate_cells(self):
for row in range(0, self.grid_height):
self.cells.append([])
for col in range(0, …Run Code Online (Sandbox Code Playgroud)