我想创建一个按“ id”分组的新数据框,并为2016年及之前的所有内容创建一个新列。实际上,我正在尝试展平以下数据框。
这是原始数据框:

Year | id | issue_1 | issue_2
=====|====|=========|========
2014 | 11 | 1       | 0
2015 | 11 | 0       | 1
2016 | 11 | 1       | 0
2014 | 15 | 1       | 1
2016 | 15 | 0       | 0


请注意,可以跳过年份,如id = 15所示,其中没有任何2015年数据。

我的目标是使最终输出看起来像这样:

id | 2016issue_1 | 2015issue_1 | 2014issue_1 | 2016issue_2 | 2015issue_2 | 2014issue_2
===|=============|=============|=============|=============|=============|=============
11 | 1           | 0           | 1           | 0           | 1           | 0
15 | 0           | 0           | 1           | 0           | 0           | 1

最佳答案

尝试.pivot_table(请参见下面的代码和输出)。

df = df.pivot_table(index=['id'], columns='Year', values=['issue_1','issue_2'])


python - 在 Pandas 中的时间敏感数据集上为历史信息创建新列-LMLPHP

关于python - 在 Pandas 中的时间敏感数据集上为历史信息创建新列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48310230/

10-09 16:38
查看更多