我正在尝试使用pandas将列表列表写入excel表 该列表如下:
List_of Lists = [ [1,2,3,4],
[5,6,7,8],
[9,10,11,12],
........,
]
主列表中的这些列表数量最多可达1000。 我也想把它们标记为colums1,colomns2,直到colums100为 实例。在同一张床单上。任何熟悉熊猫的人都可以帮助我吗? 因为这对某些人来说真的很容易吗?
答案 0 :(得分:9)
我相信您可以将列表传递到pd.DataFrame()
,您只需获取不存在的值的NaN。
例如:
List_of_Lists = [[1,2,3,4],
[5,6,7],
[9,10],
[11]]
df = pd.DataFrame(List_of_Lists)
print(df)
0 1 2 3
0 1 2.0 3.0 4.0
1 5 6.0 7.0 NaN
2 9 10.0 NaN NaN
3 11 NaN NaN NaN
然后按照您想要的方式命名,只需使用pandas.DataFrame.add_prefix
df = df.add_prefix('Column')
print(df)
Column0 Column1 Column2 Column3
0 1 2.0 3.0 4.0
1 5 6.0 7.0 NaN
2 9 10.0 NaN NaN
3 11 NaN NaN NaN
现在我想你可能也希望每个列表都是一个列。在这种情况下,您需要转置List_of_Lists
。
from itertools import zip_longest
df = pd.DataFrame(list(map(list, zip_longest(*List_of_Lists))))
print(df)
0 1 2 3
0 1 5.0 9.0 11.0
1 2 6.0 10.0 NaN
2 3 7.0 NaN NaN
3 4 NaN NaN NaN