【问题标题】:Flip a Data Frame in Pandas and keep one column's values as the new row's values [duplicate]在 Pandas 中翻转数据框并将一列值保留为新行值 [重复]
【发布时间】:2021-08-16 02:32:30
【问题描述】:

我目前有一个数据框,当我读到它时看起来像这样:

Date Country A B C
01/01/2020 AFG 0 1 5
01/02/2020 AFG 2 5 0
01/03/2020 AFG 1 4 1
... ... ... ... ...
01/01/2020 USA 2 3 7
01/02/2020 USA 4 5 6

我想将其转换为下面的表格,其中国家成为行的索引,日期替换列,A 列的值继续填充每个国家/地区的日期值。

Country 01/01/2020 01/02/2020 01/03/2020 ... 04/25/2021
AFG 0 2 1 ... 5
USA 2 4 9 ... 15

我之前尝试过使用 group-by,但似乎没有任何东西以上面显示的方式工作。我忘记了命令还是有什么方法可以做到?

【问题讨论】:

    标签: python pandas dataframe group-by time-series


    【解决方案1】:

    你可以这样做:

    1. 尝试pivot_table 获取所需的内容。

    2. 使用rename_axis 删除轴名称。

    3. 最后通过reset_index()重置索引。

    df = df.pivot_table(index='Country', columns='Date', values='A', fill_value=0).rename_axis(None, axis=1).reset_index()
    

    输出:

      Country  01/01/2020  01/02/2020  01/03/2020
    0     AFG           0           2           1
    1     USA           2           4           0
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-06
      • 1970-01-01
      • 2020-01-27
      • 1970-01-01
      • 2017-04-01
      • 2022-11-15
      相关资源
      最近更新 更多