gpt4 book ai didi

python - 通过添加 nan 使所有子列表长度相同

转载 作者:行者123 更新时间:2023-12-01 22:01:37 27 4
gpt4 key购买 nike

如何通过在每个子列表上添加 np.nan 来使我的所有子列表具有相同的长度(最长子列表的长度)?

import random
[list(range(0,random.randint(1,5))) for x in range(n)]

所以如果输出是:

[[0, 1], [0], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3]]

它应该是这样的:

[[nan,nan,nan,0, 1], [nan,nan,nan,nan,0], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [nan,0, 1, 2, 3]]

最佳答案

首先,使用max() 找到最长子列表的长度。然后,对于每个子列表,使用切片赋值将该列表的内容替换为正确数量的 NaN,后跟原始列表。

import random, math

n = 5
lists = [list(range(0,random.randint(1,5))) for x in range(n)]

# get the maximum length
maxlen = len(max(lists, key=len))

# pad left of each sublist with NaN to make it as long as the longest
for sublist in lists:
sublist[:] = [math.nan] * (maxlen - len(sublist)) + sublist

关于python - 通过添加 nan 使所有子列表长度相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53400016/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com