【问题标题】:pandas reshaping - move row values in column to individual columns熊猫重塑 - 将列中的行值移动到各个列
【发布时间】:2016-12-06 03:08:06
【问题描述】:

我有以下数据框:

City  dt  Stat1
0 YYZ 2015-12-31  -562.14
1 YYZ 2016-01-31  -701.18
2 YYZ 2016-02-29  -265.44
3 YYZ 2016-03-31  -42.62
4 YYZ 2016-04-30  -468.95
5 YYZ 2016-05-31  -549.94
6 YYZ 2016-06-30  80.84
7 YYZ 2016-07-31  -633.36
8 YYZ 2016-08-31  -1700.73
9 YYZ 2016-09-30  -229.40
10  YYZ 2016-10-31  996.27
11  YYZ 2016-11-30  117.01

{'City': {0: 'YYZ',
  1: 'YYZ',
  2: 'YYZ',
  3: 'YYZ',
  4: 'YYZ',
  5: 'YYZ',
  6: 'YYZ',
  7: 'YYZ',
  8: 'YYZ',
  9: 'YYZ',
  10: 'YYZ',
  11: 'YYZ'},
 'dt': {0: Timestamp('2015-12-31 00:00:00'),
  1: Timestamp('2016-01-31 00:00:00'),
  2: Timestamp('2016-02-29 00:00:00'),
  3: Timestamp('2016-03-31 00:00:00'),
  4: Timestamp('2016-04-30 00:00:00'),
  5: Timestamp('2016-05-31 00:00:00'),
  6: Timestamp('2016-06-30 00:00:00'),
  7: Timestamp('2016-07-31 00:00:00'),
  8: Timestamp('2016-08-31 00:00:00'),
  9: Timestamp('2016-09-30 00:00:00'),
  10: Timestamp('2016-10-31 00:00:00'),
  11: Timestamp('2016-11-30 00:00:00')},
 'Stat1': {0: -562.13999999999999,
  1: -701.18000000000029,
  2: -265.43999999999994,
  3: -42.620000000000012,
  4: -468.9500000000001,
  5: -549.94000000000005,
  6: 80.840000000000032,
  7: -633.36000000000013,
  8: -1700.7300000000002,
  9: -229.40000000000006,
  10: 996.26999999999998,
  11: 117.01000000000001}}

我想将dt 列中的值移动到各个列。

所以结果应该类似于:

City, 2015-12-31, 2016-01-31, ...
YYZ  562.14, -701.18, ...

【问题讨论】:

    标签: pandas reshape


    【解决方案1】:

    使用 pivot 重塑您的 DataFrame。

    df.pivot(index='City', columns='dt', values='Stat1')
    

    【讨论】:

      猜你喜欢
      • 2013-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-27
      • 2018-07-27
      相关资源
      最近更新 更多