首页 > 解决方案 > 为什么我不能将此数据附加到我的 numpy 数组中?出现尺寸错误

问题描述

我正在努力使我的程序更快。我正在利用 numpy 数组来存储随机生成的数据。在进行分析时,我发现 append 函数显着减慢了程序的速度。我正在尝试预先分配数组的完整大小,并在 for 循环的给定索引处追加。我收到尺寸错误。

我尝试将代码更改为:

    myarray.empty([0, numberOfRows])
    myarray.empty([numberOfRows, 0])
    myarray.empty(numberOfRows)

就是这样。我不知道还能尝试什么。当我这样做时:

     myarray.empty([numberOfRows, numberOfRows])

我收到一个错误,说数组太大。

    sysIdList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
    systemIdArray = np.empty([0, numberOfRows])
    numberOfRows = random.randint(10000, 20000)
    for x in range(numberOfRows):
        systemId = random.choice(sysIdList)
        systemIdArray = np.append(systemIdArray[x], str(systemId))


        systemIdArray = np.append(systemIdArray[x], str(systemId))
    IndexError: index 0 is out of bounds for axis 0 with size 0

标签: pythonnumpyappend

解决方案


推荐阅读