3

我正在尝试使用 pandas 将列表列表写入 excel 工作表,列表如下所示:

List_of Lists = [ [1,2,3,4],
                  [5,6,7,8],
                  [9,10,11,12],
                  ........,
                ]

主列表中的这些列表的数量可以达到 1000 个。我还想将它们标记为 colums1、colomns2,例如直到 colums100。在同一张纸上。任何熟悉熊猫的人可以帮助我吗?因为这对某些人来说真的很容易吗?

4

1 回答 1

10

我相信您可以将列表传递给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
于 2017-04-18T17:48:57.677 回答