当前位置: 首页 > 资讯 > 图书音像 > 音像制品  > 音乐 >文章详情

数据透视表逆透视(小技能:行代码做数据"逆透视表",效率翻倍!)

创作立场声明:其实是一本很有用的书。

一维表是一个非常有用的表,可以用来计算和统计各种数据。

有时候,当你得到一个二维表的时候,你需要把它转换成一维表,然后做下面的计算。

例如,下表显示了每个人的项目,每月状态表,进行中或已完成。

要算的话,每个部门每个人每个月有多少件在进行中,完成了多少件?然后,您需要将原始表转换为一维表。

原始表格:

python小技能:1行代码做数据quot;逆透视表quot;,效率翻倍!

反向透视后的一维表格:

python小技能:1行代码做数据quot;逆透视表quot;,效率翻倍!

在python中,如何实现?1行代码,就可以实现!

1.导入熊猫模块:

进口熊猫作为pd

2.导入需要透视的表。

df = PD . read _ excel(" Working w48 . xls ")
df . head()

说明:df.head()查看数据表的前5行。

python小技能:1行代码做数据quot;逆透视表quot;,效率翻倍!

3.Pivot: pivot_table()

2 = pd.melt (df,id _ vars = ['负责部门','负责人'],var_name= '月份',value_name= '状态')
df2

参数解释:

ID _ vars = ['负责部门','负责人']:'负责部门','负责人',不需要转换列。

Var_name=' month ':要转换为列的行的名称,并将列名设置为' month '

Value_name=' status ':集合值的列名为' status '

python小技能:1行代码做数据quot;逆透视表quot;,效率翻倍!

4.删除["Status"]列中空值的行:dropna()

2 = df2 . dropna(subset =[" status "])
df2

从上表可以看出,有些行的“状态”是空值。使用dropna()函数删除空值所在的行。

表格:567行* 4列

删除空值行后:316行* 4列

也就是删除了251行。

python小技能:1行代码做数据quot;逆透视表quot;,效率翻倍!

5.保存表单:将其命名为“透视图”。

Df.to _ excel ('perspective.xls ',index = false)

一共可以做5行代码,而逆透视pd.melt()的核心代码只有一行,不是很简单吗?

大家有更好的办法,欢迎告诉我!

图书URL:

更多推荐:

Python技巧:Matplotlib可视化四种常用统计图!

Python技巧:四行代码结合excel工作表!

Python技巧:4行代码做透视表,好漂亮!

Python小技巧:如何在超详细的matplotlib中绘制折线图!

淘宝领券网资讯中心,全景关注各行业的发展风向,集中报道新品发布、业界动态和海淘情报,致力于呈现时效性和价值性俱佳的精选资讯。
已赞+1 已有人赞过
评论

  • 最新