嗨,我想将列表合并到一个 numpy 数组中。但是,似乎我需要先将它们传输到数组中,然后将它们组合成一个更大的数组。
我只是想知道我可以直接将列表合并到一个数组中。
The lists
[1,2,3,4,5]
[6,7,8,9,10]
[11,12,13,14,15]
[1,2,3,4,5]
[6,7,8,9,10]
我想将它们组合成一个 5*5 数组
array(
[[1,2,3,4,5],
[6,7,8,9,10],
[11,12,13,14,15],
[1,2,3,4,5],
[6,7,8,9,10]])
得到数组后,我想对数组的对角线值求和,即 6+2+13+9+5。因此,我想确保数组格式也可以让我做np.diag
。
但是,您要将列表转换为数组以对其执行np.diag
。所以,希望你能像你在帖子中提到的一样做,如下所示:
import numpy as np
k=np.array([[6,7,8,9,10],[1,2,3,4,5],[11,12,13,14,15],[6,7,8,9,10],[1,2,3,4,5]])
print(k)
>>array([[ 6, 7, 8, 9, 10],
[ 1, 2, 3, 4, 5],
[11, 12, 13, 14, 15],
[ 6, 7, 8, 9, 10],
[ 1, 2, 3, 4, 5]])
np.diag(k)
>>array([ 6, 2, 13, 9, 5])
sum(np.diag(k))
>>35
你可以参考 asarray() 方法。但是,它再次等同于执行上述操作。