温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python数据分析中宽表是如何重构为长表

发布时间:2021-12-21 11:52:25 阅读:320 作者:柒染 栏目:大数据
Python开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

今天就跟大家聊聊有关Python数据分析中宽表是如何重构为长表,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

今天,先来了解Pandas封装的顶层函数部分,其一:melt()函数,它位于Pandas包的最顶层,结构如下:

Pandas

|

 melt()

melt()函数的原型如下:

Python数据分析中宽表是如何重构为长表


     

frame为list型参数,后面都为position型参数。前者为通常意义的*args, 后者为 **kwargs.

frame不难猜测为Pandas的二维数组结构DataFrame,其他参数含义通过如下几个例子观察。

构造df 结构如下:

Python数据分析中宽表是如何重构为长表

执行如下操作:

pd.melt(df, id_vars=['A'], value_vars=['B', 'C'])

结果如下:

Python数据分析中宽表是如何重构为长表

观察

变化后的df行数变多了,A列名称保持不变;

第二列的column名称变为variable,取值变为 B 和 C(正好等于melt函数的第三个参数 value_vars);

第三列名为value,取值为原df的B和C列的值。

再验证

Python数据分析中宽表是如何重构为长表

pd.melt(df2, id_vars=['a'], value_vars=['b', 'c', 'd'])

Python数据分析中宽表是如何重构为长表

变化后的结构行数明显变更多了,由9行组成,但是列变少了,只有3列。

这里面引出2个概念

宽表( wide format) :指列数比较多

长表( long format) :行数比较多

回头核对官方给定melt的功能和参数

Python数据分析中宽表是如何重构为长表

注意用词:unpivot  变化 DataFrame从宽格式到长格式,选择性地保留标示列,其实就是指 id_vars参数。

Python数据分析中宽表是如何重构为长表

以上为两个最主要的参数,第二个value_vars指需要upivot的列。

思考

melt()函数的作用,它能将宽表变化为长表。在做特征分析列数较多,即为宽表时,我们不妨选择某些列为unpivot列,从而降低维度,增加行数据实现对数据的重构。

官方解释melt()中变化这个词使用了unpivot,因此大胆猜测它的逆操作为 pivot()。

看完上述内容,你们对Python数据分析中宽表是如何重构为长表有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

原文链接:https://my.oschina.net/u/4585819/blog/4583544

AI

开发者交流群×