如何使用列表初始化 numpy 数组

时间:2020-12-30 10:31:00

标签: python numpy numpy-ndarray

我想创建一个填充列表的 np.array。我要创建的数组是一个二维数组。我想知道是否有办法创建这个充满列表的数组,类似于 np.zeros((10, 10)) 但列表而不是零

3 个答案:

答案 0 :(得分:2)

如果您想使用列表列表:

import numpy as np
l = [[1,2,3],[2,3,4],[3,4,5]]
np.array(l)
# array([[1, 2, 3],
#        [2, 3, 4],
#        [3, 4, 5]])

如果您有多个相同维度的列表:

import numpy as np
l1 = [1,2,3]
l2 = [2,3,4]
l3 = [3,4,5]
np.array([l1, l2, l3])
# array([[1, 2, 3],
#        [2, 3, 4],
#        [3, 4, 5]])

答案 1 :(得分:0)

你可以试试下面的方法np.array()

您可以用数字填充每个列表的地方,只需确保每个列表(列表 1、列表 2 ... )都包含相同数量的元素。

arr = np.array([[list 1],
                [list 2],
                [list 3],
                 ...
                [list n]])

答案 2 :(得分:0)

如果你想生成一个随机的列表数组,那么你可以使用 np.random.random

def user_id() -> int:
    sess = flask.session
    thread_stack = threading.current_thread()._kwargs
    if "user_id" in thread_stack:
        sess = thread_stack

    return sess.get('user_id', -1)

或者要在您可以使用的范围之间生成随机值 np.random.uniform

>>np.random.random((5,5))
array([[0.72158455, 0.09803052, 0.1160546 , 0.55904644, 0.79821847],
       [0.36929337, 0.15455486, 0.25862476, 0.44324732, 0.06120428],
       [0.95063129, 0.38533428, 0.96552669, 0.07803165, 0.46604093],
       [0.04999251, 0.8845952 , 0.8090841 , 0.64154241, 0.95548603],
       [0.83991298, 0.85053047, 0.36522791, 0.89616194, 0.10960277]])
相关问题