Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.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_Python 3.x_Pandas_Dataframe - Fatal编程技术网

Python 如何从多个公共元素的嵌套列表创建数据帧

Python 如何从多个公共元素的嵌套列表创建数据帧,python,python-3.x,pandas,dataframe,Python,Python 3.x,Pandas,Dataframe,例如,假设我有任何嵌套列表 A = [[120, 'Date1', 1.03], [120, 'Date2', 1.04], [120, 'Date3', 1.02], [240, 'Date1', 1.06], [240,'Date2', 0.98], [240, 'Date3', 1.04], [381, 'Date2', 1.03], [381, 'Date3', 0.85]] 每个子列表的第一个元素是股票编号,第二个元素是日期,第三个元素是相应的值。我想创建一个数据框架,其中

例如,假设我有任何嵌套列表

A = [[120, 'Date1', 1.03], [120, 'Date2', 1.04], [120, 'Date3', 1.02], [240, 'Date1', 1.06], [240,'Date2', 0.98],
     [240, 'Date3', 1.04], [381, 'Date2', 1.03], [381, 'Date3', 0.85]]
每个子列表的第一个元素是股票编号,第二个元素是日期,第三个元素是相应的值。我想创建一个数据框架,其中列标题是股票编号,行标题是日期,元素是相应的(第三个元素)值。我不能直接确定我将如何做到这一点。我想形成这样的形式:

      120     240    381
Date1 1.03    1.06   NaN
Date2 1.04    0.98   1.03
Date3 1.02    1.04   0.85

但是我想为任何大小的嵌套列表形成这个表单,所以我不能只为数据帧键入每个变量。任何帮助都将不胜感激


谢谢。

由构造函数创建
DataFrame
,然后使用:


您可以首先将列表转换为dict,然后直接构建数据帧

d = {}
[d.setdefault(e[0],{}).update({e[1]:e[2]}) for e in A]
df = pd.DataFrame(d)

        120     240     381
Date1   1.03    1.06    NaN
Date2   1.04    0.98    1.03
Date3   1.02    1.04    0.85
d = {}
[d.setdefault(e[0],{}).update({e[1]:e[2]}) for e in A]
df = pd.DataFrame(d)

        120     240     381
Date1   1.03    1.06    NaN
Date2   1.04    0.98    1.03
Date3   1.02    1.04    0.85