透視表的用法python

2021-09-01 19:34:40 字數 1976 閱讀 7462

參考**:

1,交叉表(index,columns必須要給定)

# index和columns是必須要指定的引數,margin為彙總專案,可以不要(也可以重新命名)

pd.crosstab(df.deptno,df.sal,margins=true)

2,透視表 pivot_table(和excel中的透視表原理類似,index,columns可以自由給定,支援彙總,支援自定義函式)

# 對於它來說,他可以只指定index,或者columns,而且他的用法和excel的透視表的用法一致

# index 相當於excel透視表中的行,columns相當於列,values 相當於值

df.pivot_table('sal',index = 'deptno',aggfunc='sum',margins=true)

df.pivot_table('sal',index='deptno',columns='job',aggfunc='sum')

df.pivot_table(values='sal',index='deptno')

df.pivot_table('sal',index =['deptno','job'],columns='ename',aggfunc='sum')

# 另外aggfunc也可以使用自己定義的函式:

def maxmin(group):

return group.max() - group.min()

# 對於呼叫maxmin函式的時候,這時候不需要加括號,表示引用maxmin(當然加括號表示拿到函式的運算結果)

df.pivot_table('sal',index = 'deptno',aggfunc=maxmin)

3,分組groupby的使用,和資料庫中的groupby原理類似

#  計算步驟:首先按照deptno,job進行聚類,然後對sal,comm進行count計算

# 他與pivot_table不一樣的有:

# 第一:groupby 簡潔,用法差不多

# 第二:groupby 不支援彙總,不支援自定義函式

df.groupby(by=['deptno','job'])['sal','comm'].count()

備註:資料:df就是oracle中的資料表emp表:

資料如下:

empno,ename,job,mgr,hiredate,sal,comm,deptno

7369,smith,clerk,7902,1980/11/17,800,0,20

7499,allen,salesman,7698,1981/2/20,1600,300,30

7521,ward,salesman,7698,1981/2/22,1250,500,30

7566,jones,manager,7839,1981/4/2,2975,0,20

7654,martin,salesman,7698,1981/9/28,1250,1400,30

7698,blake,manager,7839,1981/5/1,2850,0,30

7782,clark,manager,7839,1981/6/9,2450,0,10

7788,scott,analyst,7566,1982/11/9,3000,0,20

7839,king,president,7322,1981/12/17,5000,0,10

7844,turner,salesman,7698,1981/12/8,1500,0,30

7876,adams,clerk,7788,1983/1/12,1100,0,20

7900,james,clerk,7698,1981/3/3,950,0,30

7902,ford,analyst,7566,1981/6/3,3000,0,20

7934,miller,clerk,7782,1982/1/23,1300,0,10

python 透視表和交叉表

pivot tables and cross tabulation python和pandas中,可以通過本章所介紹的groupby功能以及 能夠利 層次化索引的 重塑運算製作透視表。dataframe有 個pivot table 法,此外還有 個頂級的pandas.pivot table函 數。除...

python中pivot table 透視表例項

下面是python透視表的簡單例項,希望對學習這一塊的朋友們能夠有所幫助。import pandas as pd def pivot table data df pd.read csv data.csv 形成基礎的成績表 pivot df data df.pivot index usernum co...

python 透視表操作unstack

data wrangling join,combine,第8章 資料規整 聚合 合併和重塑 在許多應 中,資料可能分散在許多 件或資料庫中,儲存的形 式也不利於分析。本章關注可以聚合 合併 重塑資料的 法。import numpy as np import pandas as pd pd.optio...