因此,基本上,我有一个列表列表,例如:
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)
它运行了,但列表没有变成列,而是它们仍然是行。有什么简单的方法吗?
答案 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