Pandas-melt


pandas.melt()函数用于将DataFrame从宽格式转换为长格式。在宽格式中,变量通常作为列存在,而在长格式中,这些变量通常被"融化"到一列中,并使用一个或多个标识符变量来区分。这在数据清洗和重塑数据时非常有用。

下面是pandas.melt()函数的基本语法:

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

参数解释:

  • frame: 要转换的DataFrame。
  • id_vars: 不需要被融化的列,也就是保持不变的列名。
  • value_vars: 需要被融化的列,如果不指定,则默认使用所有未指定为id_vars的列。
  • var_name: 新生成的列的名称,默认为variable
  • value_name: 新生成的值列的名称,默认为value
  • col_level: 如果列是MultiIndex(多级索引)的,指定在哪个级别上融化。

例如,假设有如下DataFrame:

 
python蟒Copy code
解释
import pandas as pd df = pd.DataFrame({'A': {0: 'a', 1: 'b', 2: 'c'}, 'B': {0: 1, 1: 3, 2: 5}, 'C': {0: 2, 1: 4, 2: 6}})

DataFrame df 如下所示:

 
cssCSS系统Copy code
解释
A B C 0 a 1 2 1 b 3 4 2 c 5 6

我们可以使用melt()函数将其转换为长格式:

 
python蟒Copy code
melted_df = pd.melt(df, id_vars=['A'], value_vars=['B', 'C'])

这将会产生一个新的DataFrame melted_df,如下所示:

 
cssCSS系统Copy code
解释
A variable value 0 a B 1 1 b B 3 2 c B 5 3 a C 2 4 b C 4 5 c C 6

这里,原始的DataFrame中的列A被保留为id_vars,列B和C被融化到一个新的variable列,并且它们的值被融化到一个新的value列。

  • 10
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值