千家信息网

pandas中Melt怎么用

发表于:2024-10-09 作者:千家信息网编辑
千家信息网最后更新 2024年10月09日,小编给大家分享一下pandas中Melt怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!MeltMelt用于将宽表变成
千家信息网最后更新 2024年10月09日pandas中Melt怎么用

小编给大家分享一下pandas中Melt怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Melt

Melt用于将宽表变成窄表,是 pivot透视逆转操作函数,将列名转换为列数据(columns name → column values),重构DataFrame。

简单说就是将指定的列放到铺开放到行上变成两列,类别是variable(可指定)列,值是value(可指定)列。

用法:

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

参数作用:

  • frame:它是指DataFrame

  • id_vars [元组, 列表或ndarray, 可选]:不需要被转换的列名,引用用作标识符变量的列

  • value_vars [元组, 列表或ndarray, 可选]:引用要取消透视的列。如果未指定, 请使用未设置为id_vars的所有列

  • var_name [scalar]:指代用于"变量"列的名称。如果为None, 则使用- - frame.columns.name或’variable’

  • value_name [标量, 默认为’value’]:是指用于" value"列的名称

  • col_level [int或string, 可选]:如果列为MultiIndex, 它将使用此级别来融化

例如有一串数据,表示不同城市和每天的人口流动:

import pandas as pd df1 = pd.DataFrame({'city': {0: 'a', 1: 'b', 2: 'c'},                      'day1': {0: 1, 1: 3, 2: 5},                      'day2': {0: 2, 1: 4, 2: 6}}) df1

现在将day1、day2列变成变量列,再加一个值列:

pd.melt(df1, id_vars=['city'])

以上是"pandas中Melt怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0