【pandas】第五章 变形

【pandas】第五章 变形

Datawhale的pandas学习的开源地址:Joyful Pandas
https://datawhalechina.github.io/joyful-pandas/build/html/%E7%9B%AE%E5%BD%95/ch1.html

欢迎大家关注了解Datawhale :)


一、长宽表的变形

长宽表定义:针对某一特征A(A可取a1、a2),注意区分对应值即可
 长表=列名为A,值为a1、a2
 宽表=列名为a1,值为B;列名为a2,值为B
示例,如下图
在这里插入图片描述

1. pivot 长表2宽表

使用方法:df.pivot(index=‘行索引’, columns=‘列名’, values=‘列下的值’)

注意:上面三个参数可以是列表,且要求原dataframe满足唯一性(行索引,列名组成的元组唯一,否则value不知填啥)
教程示例:

df.pivot(index='Name', columns='Subject', values='Grade')

在这里插入图片描述

2. pivot_table 长表2宽表

pivot缺点:需满足唯一性,因此有pivot_table来实现聚合(函数)

使用方法:df.pivot_table(index=‘行索引’, columns=‘列名’, values=‘列下的值’,aggfunc=‘函数’,margins=True)

教程示例
在这里插入图片描述

3. melt 宽表2长表

使用方法:
df.melt(id_vars = 索引列名,value_vars = 需要列变行的列名,var_name = 列变行形成的列名,value_name = 列变行的取值的列名)

在这里插入图片描述

在这里插入图片描述

4. wide_to_long

使用方法:
pd.wide_to_long(df, stubnames=[‘Grade’, ‘rank’],
i = [‘Class’, ‘Name’],
j = ‘Examination’,
sep = ‘_’,
suffix = ‘.+’)

在这里插入图片描述

二、索引的变形

1. stack与unstack

unstack 的作用是把行索引转为列索引
stack 的作用就是把列索引的层压入行索引

使用方法:
df.unstack(2) :2为第二层,默认为最内层
df.stack([1,2]) :将第1,2层的列索引变为行索引

三、其他变形函数

1. crosstab

可用pivot_table代替

2. explode

explode 参数能够对某一列的元素进行纵向的展开

使用方法:df.explode(‘列名’)

在这里插入图片描述

3. get_dummies

对某一列做one-hot

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿芒Aris

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值