如何将列表的列表转换为带有索引的数据框中的列?

时间:2019-10-31 21:10:21

标签: python pandas python-2.7

因此,基本上,我有一个列表列表,例如:

a = [[1,2,3,4,5,6,7,8,9,10],
     [11,12,13,14,15,16,17,18,19,20]]

所以每个列表中都有10个数字。例如,我有一个索引列表:

index = ['A','B','C','D','E','F','G','H','I','J']

我想创建一个python数据框,其结构如下:

 A  1  11
 B  2  12
 C  3  13
 D  4  14 
 E  5  15
 F  6  16
 G  7  17 
 H  8  18
 I  9  19 
 J  10 20

基本上将a中的每个列表变成数据框中的一列。

我尝试了以下操作:

df = pd.DataFrame(columns = a, index = index)

它运行了,但列表没有变成列,而是它们仍然是行。有什么简单的方法吗?

2 个答案:

答案 0 :(得分:1)

import pandas as pd
a = [[1,2,3,4,5,6,7,8,9,10],
     [11,12,13,14,15,16,17,18,19,20]]

index = ['A','B','C','D','E','F','G','H','I','J']

pd.DataFrame(a, columns=index).T

答案 1 :(得分:0)

import pandas as pd
a = [[1,2,3,4,5,6,7,8,9,10],
     [11,12,13,14,15,16,17,18,19,20]]

index = ['A','B','C','D','E','F','G','H','I','J']

data = {f'col_{i}': column for i, column in enumerate(a)}

pd.DataFrame(data, index = index)

将列表列表转换为字典,其中列名称为键,而要用作列的列表为值。将该字典传递给pd.DataFrame函数以获取以下输出:

col_0   col_1
A   1   11
B   2   12
C   3   13
D   4   14
E   5   15
F   6   16
G   7   17
H   8   18
I   9   19
J   10  20