pandas 笔记:melt函数

和pivot_index 相反,前者是长表转宽表,melt是宽表转长表

pandas 笔记:pivot_table 数据透视表_UQI-LIUWJ的博客-CSDN博客

1 基本使用方法

pandas.melt(
    frame, 
    id_vars=None, 
    value_vars=None, 
    var_name=None, 
    value_name='value', 
    col_level=None)

2 主要参数

frame要处理的数据集
id_vars不需要被转换的列名
value_vars需要转换的列,如果剩下的列全部都要转换,就不用写

var_name

value_name

自定义设置对应的列名
col_level 如果列是MultiIndex,则使用此级别

3 举例

3.0 数据

data=pd.DataFrame(np.random.rand(3,3),
                 index=[0,1,2],
                 columns=['a','b','c'])
data

3.1 id_vars

保留的内容

pd.melt(data,id_vars='a')
'''
	    a	variable	value
0	0.510682	b	0.577556
1	0.592309	b	0.909568
2	0.583235	b	0.292410
3	0.510682	c	0.124021
4	0.592309	c	0.224520
5	0.583235	c	0.913809
'''

#保留A,对B和C列进行转换,将C列数据保留,源C列字段作为新的数据值

3.2 value_var

pd.melt(data,id_vars='a',value_vars='c')
'''
	    a	variable	value
0	0.510682	c	0.124021
1	0.592309	c	0.224520
2	0.583235	c	0.913809
'''
#保留A,对C列进行转换,将C列数据保留,源C列字段作为新的数据值

3.3 var_name value_name

新增的variable和value列的名字

pd.melt(data,
        id_vars='a',
        value_vars='c',
       var_name='new_a',
       value_name='new_c')
'''
	    a	new_a	new_c
0	0.510682	c	0.124021
1	0.592309	c	0.224520
2	0.583235	c	0.913809
'''

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

UQI-LIUWJ

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

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

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

打赏作者

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

抵扣说明:

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

余额充值