【发布时间】:2019-07-22 21:49:40
【问题描述】:
我有如下四个列表,其中每个 node 有 6 个时间序列值,这些值根据 2001 年至 2006 年的年份排序(即2001、2002、2003、2004、2005 , 2006)。
mylist1 = [['node1', 3.2, 4.5, 6.8, 7.6, 8.8, 9.6], ['node2', 6.2, 9.5, 2.8, 8.6, 1.8, 8.6]]
mylist2 = [['node1', 3, 4, 6, 7, 8, 9], ['node2', 6, 9, 2, 8, 1, 8]]
mylist3 = [['node1', 3.6, 4.2, 6.6, 7.8, 8.9, 9.5], ['node2', 6.8, 9.9, 2.5, 8.2, 1.6, 8.2]]
mylist4 = [['node1', 2, 5, 8, 6, 8, 6], ['node2', 2, 5, 8, 6, 8, 6]]
我想把上面的4个列表转换成下面的pandas数据框。
id year mylist1 mylist2 mylist3 mylist4
node1 2001 3.2 3 3.6 2
node1 2002 4.5 4 4.2 5
node1 2003 6.8 6 6.6 8
node1 2004 7.6 7 7.8 6
node1 2005 8.8 8 8.9 8
node1 2006 9.6 9 9.5 6
node2 2001 6.2 6 6.8 2
node2 2002 9.5 9 9.9 5
node2 2003 2.8 2 2.5 8
node2 2004 8.6 8 8.2 6
node2 2005 1.8 1 1.6 8
node2 2006 8.6 8 8.2 6
我将列表转换为 pandas 数据框,如下所示。
df1 = pd.DataFrame(list(mylist1))
df2 = pd.DataFrame(list(mylist2))
df3 = pd.DataFrame(list(mylist3))
df4 = pd.DataFrame(list(mylist4))
但是,我不确定如何连接这些数据帧以获得时间序列的垂直对齐,如上所示。
如果需要,我很乐意提供更多详细信息。
【问题讨论】:
-
pd.DataFrame(mylist1+mylist2+mylist3+mylist4) 应该可以,没有看到年份数据
-
@iamklaus 实际上列表中的值是按年份顺序排列的(即 2001、2002、2003、2004、2005、2006)
标签: pandas