【问题标题】:Creating new columns based on date value and unique column value?根据日期值和唯一列值创建新列?
【发布时间】:2021-02-15 06:27:02
【问题描述】:

我有一个看起来像这样的数据框(更多行)。

                End Period   EBITDA      Revenue
ID          
XRX US Equity   2013-12-31  2.747000    2.000600
XRX US Equity   2014-12-31  1.914000    1.267900
XYL US Equity   2013-12-31  5.130000    3.837000
XYL US Equity   2014-12-31  6.050000    3.916000

我将如何获得这样的东西?

                 EBITDA      EBITDA      Revenue     Revenue
ID               2013-12-31  2014-12-31  2013-12-31  2014-12-31
XRX US Equity    2.747000    1.914000    2.000600    1.267900
XYL US Equity    5.130000    6.050000    3.837000    3.916000

【问题讨论】:

  • df.set_index(['End Period'], append=True).unstack('End Period')?
  • @QuangHoang 我认为这行不通,因为我在结束期间没有唯一值
  • 只要您没有重复的 ('ID', 'End Period') 对。如果你这样做了,恕我直言,你的数据没有多大意义。
  • @QuangHoang 我没有重复('ID','End Period') - 即使在我上面示例的确切数据集上,我也得到“索引包含重复条目,无法重塑”
  • 运行良好,你确定你有append=True

标签: python pandas sorting pivot-table grouping


【解决方案1】:

为什么不使用枢轴?

df = pd.reset_index().pivot(df,index='ID', columns=['End Period'])

【讨论】:

  • 'ID' 是索引,所以可能在枢轴之前reset_index
猜你喜欢
  • 2023-02-23
  • 1970-01-01
  • 1970-01-01
  • 2019-04-17
  • 2021-12-02
  • 2021-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多