[英]How to replace elements of preallocated np.array in Python, matlab style
[英]Unpack lists that are elements of a np.array in Python
有誰知道我如何“解壓縮”作為 np.array 元素/單元格的列表? 這就是輸出現在的樣子:
[[0 301227 0.863 0.456 -3.551 0.532 135.96200000000002 4
list([0.49, 0.33, 0.33, 0.28, 0.26, 0.47, 0.28, 0.29, 0.41, 0.42, 0.85, 0.48])
list([53.09, 119.1, 36.67, -1.91, 11.38, -20.86, -0.56, 4.01, -3.51, 0.9, -8.72, 1.04])
66.66666666666667 1.0]]
我想解壓縮這些列表,以便每個值只是數組中的另一個項目/列。 如果有幫助,我也可以將列表放入 np.arrays 中。 應該很容易解決,我只是還沒有找到它。
干杯
如果我正確理解您的問題,您可以使用 numpy.concatenate() :
list = np.concatenate(input_list).ravel()
如果您希望輸出為列表形式,您可以附加.tolist()
我想我現在更了解你的問題了。 我創建了一些東西來嘗試匹配您所面臨的情況,它返回一個列表,其中每個列表中的每個項目都變成了您想要的另一個項目:
import numpy as np
input_list = [0, 2, 4, 1, 5,np.array([1, 2, 3]), 6, 1, 6, 1, 2, np.array([1, 2, 3])]
def flatten(l):
for item in l:
try:
yield from flatten(item)
except TypeError:
yield item
output_list = list(flatten(input_list)))
輸出為: [0, 2, 4, 1, 5, 1, 2, 3, 6, 1, 6, 1, 2, 1, 2, 3]
也用 np 數組和列表對其進行了測試,應該沒有問題。 此外,我沒有將輸出列表創建為 np.array,但是如果您願意,您可以輕松地更改它
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.