【问题标题】:Pivoting/reshaping a dataframe to have dates as columns旋转/重塑数据框以将日期作为列
【发布时间】:2017-03-31 07:54:30
【问题描述】:

这是我的数据框:

       ID        AMT          DATE
0   1496846   54.76        2015-02-11
1   1496846   195.00       2015-01-09
2   1571558   11350.00     2015-04-30
3   1498812   135.00       2014-07-11
4   1498812   157.00       2014-08-04
5   1498812   110.00       2014-09-23
6   1498812   1428.00      2015-01-28
7   1558450   4355.00      2015-01-26
8   1858606   321.52       2015-03-27
9   1849431   1046.81      2015-03-19

我想让这个数据框由每个ID 的时间序列数据组成。即每列名称为一个日期(已排序),并以ID为索引,其值为每个日期对应的AMT值。我可以做到这样的事情

df.set_index("DATE").T

但是从这里我被困住了。

我也试过

df.pivot(index='ID', columns='DATE', values='AMT')

但这给了我一个重复条目的错误(IDs)。

我将其设想为转置DATE,然后按唯一的ID 分组并在下面融合AMT

【问题讨论】:

    标签: python-2.7 pandas dataframe pivot time-series


    【解决方案1】:

    您想使用pivot_table,其中有一个处理重复索引的aggfunc 参数。

    df.pivot_table('AMT', 'DATE', 'ID', aggfunc='sum')
    


    您需要选择如何处理重复数据。我把'sum' 放在那里。默认为'mean'

    【讨论】:

      猜你喜欢
      • 2014-12-06
      • 1970-01-01
      • 2020-08-19
      • 2016-02-14
      • 1970-01-01
      • 1970-01-01
      • 2019-12-05
      • 2011-01-25
      • 1970-01-01
      相关资源
      最近更新 更多