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)