【问题标题】:Reshape/pivot pandas dataframe重塑/旋转熊猫数据框
【发布时间】:2015-09-15 20:18:32
【问题描述】:

我有一个带有变量的数据框:id, 2001a, 2001b, 2002a, 2002b, 2003a, 2003b, etc.

我正在尝试找出一种方法来旋转数据,因此变量是:id, year, a, b

16.2 文档提到了一些重塑和旋转,但这似乎更多地涉及分层列。

有什么建议吗?

我正在考虑创建分层数据框,但不确定如何将原始变量名称中的 year 映射到创建的分层列

样本df:

id 2001a 2001b 2002a 2002b 2003a etc.
1  242   235   5735  23    1521
2  124   168   135   1361  1
3  436   754   1     24    5124
etc.

【问题讨论】:

  • 你能给你一个DataFrame的样本吗?
  • @RomainX。当然!已编辑

标签: python-2.7 pandas pivot reshape


【解决方案1】:

这是一种创建分层列的方法。

df = pd.DataFrame({'2001a': [242,124,236], 
                   '2001b':[242,124,236],
                   '2002a': [242,124,236], 
                   '2002b': [242,124,236], 
                   '2003a': [242,124,236]})
df.columns = df.columns.str.split('(\d+)', expand=True)
df

  2001      2002      2003
     a    b    a    b    a
0  242  242  242  242  242
1  124  124  124  124  124
2  236  236  236  236  236

【讨论】:

  • 哦...嗯...这正是我要找的...谢谢!现在我所要做的就是将年份移到一个列中,但我认为这应该很容易使用枢轴/重塑
猜你喜欢
  • 2021-11-03
  • 2017-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-23
  • 1970-01-01
相关资源
最近更新 更多