如何将具有相同 id 的多行的 Pandas 数据框展平

如何展平如下所示的 Pandas 数据框:


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 和日期创建一个新列,然后删除日期列。例如:


id           var1_2015-01-01 var1_2015-02-01 var1_2015-03-01

058a219119825        0.9             0.3           0.1

此外,由于某些 id 不会包含所有 12 个不同的日期(每月 1 个),我想为那些在不存在的日期中缺失的 var1 值添加一个“缺失值”字符串。我怎么能用 Pandas 做到这一点?


守候你守候我
浏览 113回答 1
1回答

慕虎7371278

您可以在 Pandas 中透视表。例如:entry.pivot(index='id', columns='date', values='var1')
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python