如何将具有相同ID的几行的熊猫数据框展平

时间:2018-09-20 20:38:04

标签: python pandas flatten

如何像下面这样展平熊猫数据框:

id               date            var1
058a219119825  2015-01-01      0.9             
058a219119825  2015-02-01      0.3         
058a219119825  2015-03-01      0.1
....
058a219119826  2015-01-01      0.1
058a219119826  2015-02-01      0.5
058a219119826  2015-03-01      0.4

有关数据框的一些信息:以下是带有日期的唯一条目(id):

  date       number of unique id's
2015-01-01    16070
2015-02-01    16082
2015-03-01    16074
2015-04-01    16079
2015-05-01    16080
2015-06-01    16085
2015-07-01    16090
2015-08-01    16094
2015-09-01    16082
2015-10-01    16085
2015-11-01    16087
2015-12-01    16094

我想要类似于此命令对json文件所做的操作:

flattened = (flatten(entry) for entry in json_data)

问题是,现在,我将数据放入数据帧中。我的想法是使用var和date创建一个新列,然后删除date列。例如:

id           var1_2015-01-01 var1_2015-02-01 var1_2015-03-01
058a219119825        0.9             0.3           0.1

此外,由于某些ID不会具有所有12个不同的日期(每月1个),因此我想为那些不存在的日期中缺少var1值的人添加一个“缺少值”字符串。我该如何用熊猫做到这一点?

1 个答案:

答案 0 :(得分:2)

您可以在Pandas中透视表。

例如:

entry.pivot(index='id', columns='date', values='var1')