首页 > 解决方案 > 将列表转换为数据框

问题描述

我有这个清单,

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

标签: pythonpandasnumpy

解决方案


您可以通过调用直接使用列表列表创建数据框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

推荐阅读