数据透视表逆透视(小技能:行代码做数据"逆透视表",效率翻倍!)
创作立场声明:其实是一本很有用的书。
一维表是一个非常有用的表,可以用来计算和统计各种数据。
有时候,当你得到一个二维表的时候,你需要把它转换成一维表,然后做下面的计算。
例如,下表显示了每个人的项目,每月状态表,进行中或已完成。
要算的话,每个部门每个人每个月有多少件在进行中,完成了多少件?然后,您需要将原始表转换为一维表。
原始表格:
反向透视后的一维表格:
在python中,如何实现?1行代码,就可以实现!
1.导入熊猫模块:
进口熊猫作为pd
2.导入需要透视的表。
df = PD . read _ excel(" Working w48 . xls ")
df . head()
说明:df.head()查看数据表的前5行。
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 '
4.删除["Status"]列中空值的行:dropna()
2 = df2 . dropna(subset =[" status "])
df2
从上表可以看出,有些行的“状态”是空值。使用dropna()函数删除空值所在的行。
表格:567行* 4列
删除空值行后:316行* 4列
也就是删除了251行。
5.保存表单:将其命名为“透视图”。
Df.to _ excel ('perspective.xls ',index = false)
一共可以做5行代码,而逆透视pd.melt()的核心代码只有一行,不是很简单吗?
大家有更好的办法,欢迎告诉我!
图书URL:
更多推荐:
Python技巧:Matplotlib可视化四种常用统计图!
Python技巧:四行代码结合excel工作表!
Python技巧:4行代码做透视表,好漂亮!
Python小技巧:如何在超详细的matplotlib中绘制折线图!