如何从结果列表中创建数据框?

时间:2016-05-13 14:44:18

标签: python list pandas matrix dataframe

我有一个像这样的结果列表[1.0,3.0,5.0,2.0,0.3,1.0,1.6,0.6,0.2,0.5,1.0,0.4,0.5,1.5,2.5,1.0]。

但我需要这些数据,如下面的数据框(我需要为很长的表做这个)。

     a    b     c     d 
0  1.0  0.3   0.2   0.5 
1  3.0  1.0   0.5   1.5  
2  5.0  1.6   1.0   2.5 
3  2.0  0.6   0.5   1.0

这是我获取数据的方式。你能帮我吗?

data1 = {"a":[1.,3.,5.,2.],
         "b":[4.,8.,3.,7.],
         "c":[5.,45.,67.,34]}

df = pd.DataFrame(data1)

data2 =[]

for index, row in df.iterrows():
    constante = row[0]

    for index, celda in df.iterrows():
        hey = celda[0]/constante

        data2.append(hey)

print data2

1 个答案:

答案 0 :(得分:3)

您可以将其转换为numpy数组并重塑:

lst = [1.0, 3.0, 5.0, 2.0, 0.3, 1.0, 1.6, 0.6, 0.2, 0.5, 1.0, 0.4, 0.5, 1.5, 2.5, 1.0]

pd.DataFrame(np.array(lst).reshape(4, 4).T, columns = list("abcd"))
Out[94]: 
     a    b    c    d
0  1.0  0.3  0.2  0.5
1  3.0  1.0  0.5  1.5
2  5.0  1.6  1.0  2.5
3  2.0  0.6  0.4  1.0