处理可变数量的列Dataframe - Python

Eri*_*ele 3 python dataframe pandas xlw

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

List_of Lists = [ [1,2,3,4],
                  [5,6,7,8],
                  [9,10,11,12],
                  ........,
                ]
Run Code Online (Sandbox Code Playgroud)

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

Grr*_*Grr 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
Run Code Online (Sandbox Code Playgroud)

然后以你想要的方式获得命名 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
Run Code Online (Sandbox Code Playgroud)

现在我想有可能你也希望每个列表都是一个列.在这种情况下,你需要转置你的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
Run Code Online (Sandbox Code Playgroud)

  • 耶!`add_prefix`! (2认同)