我想创建一个填充列表的 np.array。我要创建的数组是一个二维数组。我想知道是否有办法创建这个充满列表的数组,类似于 np.zeros((10, 10))
但列表而不是零
答案 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]])