Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将列表转换为数据帧_Python_Pandas_Numpy - Fatal编程技术网

Python 将列表转换为数据帧

Python 将列表转换为数据帧,python,pandas,numpy,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

我有这个清单

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

您可以通过调用
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
试一试


我认为df=pd.DataFrame(grid)对你不起作用?看看如何构建数据框架的示例。请根据你自己的研究提供你尝试过的代码,并描述你的尝试出了什么问题。Hi Henry,,工作得很好,df=pd.DataFrame(grid)@CarlosCarvalho为什么我不配得到选择的答案(我先回答!先回答才能被接受。作为Python的局外人,这两个答案看起来都需要对它们的工作原理进行更多的解释。并不是说我认为两个答案中的任何一个都应该被接受。@Pissal,对不起,伙计,我只是检查答案是否在顶部,我不知道你的答案是第一个。两个答案都是对,谢谢大家。
colnames = ["id", "ratio", "c", "iter"]

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