当前位置: 首页 > 面试题库 >

Unpivot pandas数据

邹斌
2023-03-14
问题内容

我目前的DataFrame布局为:

        Jan Feb Mar Apr ...
2001    1   12  12  19  
2002    9   ...
2003    ...

并且我想“取消透视”数据,使其看起来像:

Date    Value
Jan 2001    1
Feb 2001    1
Mar 2001    12
...
Jan 2002    9

使用pandas / NumPy完成此操作的最佳方法是什么?


问题答案:

您只需要做df.unstack(),这将创建一个以月为第一级,以年为第二级索引的MultiIndexed
Series。如果您希望它们成为列,则reset_index()在此之后调用。

>>> df
      Jan  Feb
2001    3    4
2002    2    7
>>> df.unstack()
Jan  2001    3
     2002    2
Feb  2001    4
     2002    7
>>> df = df.unstack().reset_index(name='value')
>>> df
  level_0  level_1  value
0     Jan     2001      3
1     Jan     2002      2
2     Feb     2001      4
3     Feb     2002      7
>>> df.rename(columns={'level_0': 'month', 'level_1': 'year'}, inplace=True)
>>> df
  month  year  value
0   Jan  2001      3
1   Jan  2002      2
2   Feb  2001      4
3   Feb  2002      7


 类似资料:
  • 当语句是作(plot)复变量时,虚部是忽略的,除非作图给出一个单复变元。对于这种特殊情况,有一捷径的命令来画出实部以及与之对应的虚部。因此, plot(Z) 其中Z是复向量或矩阵,其等价于 plot(real(Z),imag(Z)) 例如, t = 0:pi/10:2*pi; plot(exp(i*t),'-o') axis equal 作出一个二十边形并用小圆标记顶点,命令axis equ

  • New in Django 1.8. 下面记述的类为用户提供了一些方法,来在Django中使用底层数据库提供的函数用于注解、聚合或者过滤器等操作。函数也是表达式,所以可以像聚合函数一样混合使用它们。 我们会在每个函数的实例中使用下面的模型: class Author(models.Model): name = models.CharField(max_length=50) age

  • 中国股票指数数据 实时行情数据 接口: stock_zh_index_spot 目标地址: http://vip.stock.finance.sina.com.cn/mkt/ 描述: 中国股票指数数据-所有指数 限量: 单次返回所有指数的实时行情数据 输入参数 名称 类型 必选 描述 - - - - 输出参数-实时行情数据 名称 类型 默认显示 描述 代码 str Y - 名称 str Y - 最

  • 我正试图计算逆FFT,因为我只想要选择频率。下面是我如何进行FFT: 正如上面所看到的,我正在从每个点做一个复数。 然后,我计算一个频率的功率电平:

  • 数组数据基类,支持使用 a.b.c 方式操作数据 $data = [ 'a' => [ 'b' => [ 'c' => [ 'name' => 'imi', ] ] ] ]; $data = new \Imi\Util\ArrayData($data); //

  • 函数名称:插入数据到数组 函数功能:插入数据到数组 函数方法 table.insert (tab_table, pos,value) 参数 类型 必填 说明 tab_table string 是 待操作的数组 pos number 否 待插入位置,不写默认值为 #tab_table value value 否 待插入的内容 函数示例 tab_table = {1,2,3,4,5,6,7,8,9,1

  • 项目为sgg经典离线数仓 1. 自我介绍 2. 项目介绍(难点、亮点) 3. 根据难点亮点提问 4. 数据域是什么,如何划分数据域,为什么这样划分数据域 5. DIM层维度表的设计原则 6. DWD层事实表设计要点 7. mapreduce shuffle流程 8. maptask和reduce task 与哪些因素有关 9. 数据热点(数据倾斜)在哪些场景下出现,如何解决 10. spark是为

  • 我有问题保存我的数组列表。当应用程序销毁或更改意图或更改方向时,我想保存我的数组列表: 首先,我尝试保存在文件中,但Paint类不是可序列化类。第二,我尝试使用onSaveInstanceState(Bundle outState)/onRestoreInstanceState(Bundle savedInstanceState),但我无法保存Arraylist;第三,我尝试使用数据库,但没有任何