首页 > 编程知识 正文

宽表怎么做,广义表的表长怎么算

时间:2023-05-05 22:28:51 阅读:234182 作者:2837

原文传送门:https://www.cnblogs.com/zlslch/p/8644585.html

 

处理长表和宽表类的转换的时候之前总是自己写底层

但是底层写得太烂了,转换的速度总是不满意,pandas 的不断concat过程耗费的时间太久

然后就灵机一动

作为最热门的语言,python会不会有这种长表宽表的转换呢?

结果有的。。。。

import pandas as pdimport numpy as npmydata=pd.DataFrame({"Name":["苹果","谷歌","脸书","亚马逊","腾讯"],"Conpany":["Apple","Google","Facebook","Amozon","Tencent"],"Sale2013":[5000,3500,2300,2100,3100],"Sale2014":[5050,3800,2900,2500,3300],"Sale2015":[5050,3800,2900,2500,3300],"Sale2016":[5050,3800,2900,2500,3300] })

 

这个是一张宽表转换成长表只需要dataframe的一个属性

mydata1=mydata.melt(id_vars=["Name","Conpany"], #要保留的主字段var_name="Year", #拉长的分类变量value_name="Sale" #拉长的度量值名称 )

如果长表转成宽表同样也只要一个属性就能搞定了!!!

mydata1.pivot_table(index=["Name","Conpany"], #行索引(可以使多个类别变量)columns=["Year"], #列索引(可以使多个类别变量)values=["Sale"] #值(一般是度量指标) )

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。