将列表转换为数据框

时间:2019-10-22 15:42:48

标签: python pandas numpy

我有此列表

grid = [['r', 0.01529051987767584, 0.001, -1],
 ['r', 0.9357798165137615, 0.03162277660168379, 39],
 ['r', 0.9480122324159022, 1.0, 79],
 ['r', 0.8899082568807339, 1000.0, 9],
 ['c', 0.9327217125382263, 0.001, 49],
 ['c', 0.9724770642201835, 0.03162277660168379, 89],
 ['c', 0.9724770642201835, 31.622776601683793, 19],
 ['c', 0.9724770642201835, 1000.0, 59]]

我需要将其转换为数据框以获取其中的网格

1st colname = Id 
2nd colname = ratio 
3rd Colname = C
4th colname = Iter

每列的值均与列表用逗号分隔

如果能提供帮助,请先谢谢您。 Rgds

2 个答案:

答案 0 :(得分:1)

您可以直接通过调用pd.DataFrame(data=a_list)使用列表列表制作数据框。您可以使用columns关键字来指定列名称,前提是该列名称等于子列表中的元素数。

只需使用:

df = pd.DataFrame(grid, columns=["ID", "Ratio", "C", "Iter"])

print(df)
  ID     Ratio            C  Iter
0  r  0.015291     0.001000    -1
1  r  0.935780     0.031623    39
2  r  0.948012     1.000000    79
3  r  0.889908  1000.000000     9
4  c  0.932722     0.001000    49
5  c  0.972477     0.031623    89
6  c  0.972477    31.622777    19
7  c  0.972477  1000.000000    59

答案 1 :(得分:0)

尝试

colnames = ["id", "ratio", "c", "iter"]

df = pd.DataFrame(data=grid, columns=colnames)