如何将Pandas DataFrame转换为列表?

时间:2013-02-27 12:33:19

标签: python dataframe pandas

我有一个包含多列的Python DataFrame。

2u    2s    4r     4n     4m   7h   7v
0     1     1      0      0     0    1
0     1     0      1      0     0    1
1     0     0      1      0     1    0
1     0     0      0      1     1    0
1     0     1      0      0     1    0
0     1     1      0      0     0    1

我想要做的是将此pandas.DataFrame转换为如下列表

X = [
     [0, 0, 1, 1, 1, 0],
     [1, 1, 0, 0, 0, 1],
     [1, 0, 0, 0, 1, 1],
     [0, 1, 1, 0, 0, 0],
     [0, 0, 0, 1, 0, 0],
     [0, 0, 1, 1, 1, 0],
     [1, 1, 0, 0, 0, 1]
    ]

2u 2s 4r 4n 4m 7h 7v是列标题。它会在不同情况下发生变化,所以不要为此烦恼。

2 个答案:

答案 0 :(得分:63)

它看起来像一个转置矩阵:

df.values.T.tolist()

[list(l) for l in zip(*df.values)]

[[0, 0, 1, 1, 1, 0],
 [1, 1, 0, 0, 0, 1],
 [1, 0, 0, 0, 1, 1],
 [0, 1, 1, 0, 0, 0],
 [0, 0, 0, 1, 0, 0],
 [0, 0, 1, 1, 1, 0],
 [1, 1, 0, 0, 0, 1]]

答案 1 :(得分:1)

要将Dataframe更改为列表,请使用tolist()函数进行转换 假设我有Dataframe df

要更改为列表,您只需使用tolist()函数

df.values.tolist()

您还可以使用来更改列表中的特定列

df['column name'].values.tolist()