熊猫,扩展一系列数据框

时间:2020-02-26 02:46:12

标签: python pandas indexing concat

我有一个看起来像这样的系列:

     result
3    pd.DataFrame({"ABC":1,"American":2,"Heroes":3})
8    pd.DataFrame({"ABC":1,"American":2,"Heroes":3})
11   pd.DataFrame({"ABC":1,"American":2,"Heroes":3})
14   pd.DataFrame({"ABC":1,"American":2,"Heroes":3})
17   pd.DataFrame({"ABC":1,"American":2,"Heroes":3})
20   pd.DataFrame({"ABC":1,"American":2,"Heroes":3})

如何产生此结果:

     ABC    American    Heroes
3    1      2           3
8    1      2           3
11   1      2           3
14   1      2           3
17   1      2           3
20   1      2           3

这让我发疯,因为如果concat我失去了索引。

这是我最接近的尝试pd.concat(myDf.tolist(), axis=1)

1 个答案:

答案 0 :(得分:0)

这是一个非常复杂的结构,我尝试过以这种方式重建一系列数据帧(在您指向的链接中没有看到任何具有此结构的序列)

df_list = [pd.DataFrame({"ABC":[1],"American":[2],"Heroes":[3]}),
           pd.DataFrame({"ABC":[1],"American":[2],"Heroes":[3]}),
           pd.DataFrame({"ABC":[1],"American":[2],"Heroes":[3]})]

series = pd.Series(df_list)

并获得您想要的东西:

df = pd.DataFrame(series\
                      .apply(lambda x : x.squeeze().to_list())\
                      .to_list(),
                  columns=series[0].columns)

结果:

    ABC American    Heroes
0   1   2           3
1   1   2           3
2   1   2           3