python - 如何通过多个一维数组附加一个空数组
问题描述
我想通过多个 1D 数组创建 2D 数组,(1,7680)
以便在彼此下有多个数组创建 2D 数组(n,7680)
任何帮助,将不胜感激
代码
y=[]
t=0
movement=int(S*256)
if(S==0):
movement=_SIZE_WINDOW
while data.shape[1]-(t*movement+_SIZE_WINDOW) > 0:
for i in range(0, 22):
start = t*movement
stop = start+_SIZE_WINDOW
signals[i,:]=data[i,start:stop]
y=np.append(signals[i,:],y)
t=t+1
解决方案
如果您要创建的数组的形状定义明确,那么最简单和最佳的方法是创建一个空数组,如下所示:
array_NxM = np.empty((N,M))
这将创建一个具有所需形状的空数组,然后您可以通过迭代其元素来填充数组。
通过附加一维数组来创建一个数组绝对不是最佳的,但可以接受的方法是创建一个列表,将一维数组附加到它,然后将列表转换为一个 numpy 数组,如下所示:
array_NxM = []
for i in range(M):
array_NxM.append(array_1xM)
array_NxM = np.array(array_NxM)
最糟糕的方法肯定是使用 np.append。如果可能,请始终避免附加到 numpy 数组,因为此操作会导致数组内存中的完整副本和对其的读/写。
推荐阅读
- python - 如何在 Bokeh 中绘制人物
- symfony - 如何在 Symfony 中同时使用 Assert\File 和 Assert\Image?
- python - 如何将 Kivy TextInput 调用到我的 Python 函数中?
- php - 如何在角度 7 中修复“刚刚评估过以下值”
- javascript - 尝试使用快速 js 路由解析 API 响应时的 HPE_INVALID_HEADER_TOKEN
- python - webdriver 找不到带有 jscontroller 的显示更多链接
- python - 为什么 asyncio 需要一个特殊的信号处理程序?
- asp.net - 用户名或密码不正确
- sql - SQL Server 2012 消息“CREATE VIEW”必须是查询批处理中的第一条语句
- error-handling - SBCL 绕过调试器并打印错误以在其他环境中显示?