此问题在此处已有答案:
Convert Python sequence to NumPy array, filling missing values(8个答案)
Convert list of lists with different lengths to a numpy array [duplicate](3个答案)
昨天关门了。
假设我有一个列表的列表,它们可以有不同的大小:
arr=list([[0. , 1.5, 3. , 0. , 1.5],[0. , 1.5, 3. ],[0., 1.33, 2.67, 4. ]])
我想让这个数组numpy兼容,并根据最大长度创建一个填充数组,然后用Nan填充空白:
arr_filled=list([[0. , 1.5, 3. , 0. , 1.5],[0. , 1.5, 3.,None,None ],[0., 1.33, 2.67, 4.,None ]])
我目前的方法是用map(len, arr)
来计算每个列表的长度,然后循环遍历列表并添加None
,直到它们的大小都相同,有没有更快更干净的方法来做到这一点?
1条答案
按热度按时间zbdgwd5y1#
您可以使用
itertools.zip_longest
:图纸: