透视表:pd.pivot_table()/交叉表:pd.crosstab(index,colums)

透视表概念:pd.pivot_table()

透视表是各种电子表格程序和其他数据分析软件中一种常见的数据汇总工具。它根据一个或多个键对数据进行聚合,并根据行和列上的分组键将数据分配到各个矩形区域中。

import numpy as np
import pandas as pd

 

1.创建一个数据集

df = DataFrame({'male':['男','女','男','女','男','女','男','女','女','男','女','男','女','女','女','男','女','女'],
                'hand':['right','left','left','right','right','left','left','right','right','right','left','right','left','left','right','right','left','left'],
                'height':np.random.randint(160,180,size = 18),'weight':np.random.randint(50,80,size = 18)})
df

2.行分组透视图

pd.pivot_table(df,columns=['male'])

pd.pivot_table(df,columns=['hand'],aggfunc='sum')

透视表:pd.pivot_table()/交叉表:pd.crosstab(index,colums)_第1张图片

 

3.列分组透视表

pd.pivot_table(df,index=['male'])

pd.pivot_table(df,index=['hand'])

透视表:pd.pivot_table()/交叉表:pd.crosstab(index,colums)_第2张图片

 

4.行列分组的透视表

# 透视表:根据特定条件进行分组计算,查找数据,进行计算
pd.pivot_table(df,index=['hand'],columns=['male'],aggfunc='min')

透视表:pd.pivot_table()/交叉表:pd.crosstab(index,colums)_第3张图片

 

交叉表概念:pd.crosstab(index,colums)

交叉表是一种用于计算分组频率的特殊透视图,对数据进行汇总

1.认识.npy格式存储数据

nd = np.random.randint(0,10000,size = 1000)
np.save('./data.npy',nd)

np.load('./data.npy')

透视表:pd.pivot_table()/交叉表:pd.crosstab(index,colums)_第4张图片

2.加载 t / p 两个数据集

t = np.load('./cancer_true.npy')
p = np.load('./cancer_predict.npy')

display(t,p)

透视表:pd.pivot_table()/交叉表:pd.crosstab(index,colums)_第5张图片

 

3.创建交叉表

①法1

# index ----行
# columns ----列
pd.crosstab(index = t,columns=p,colnames=['Predict'],rownames=['True'],margins=True)

透视表:pd.pivot_table()/交叉表:pd.crosstab(index,colums)_第6张图片

②法2

df = DataFrame({'True':t,'Predict':p})
df

pd.crosstab(df['True'],df['Predict'])

透视表:pd.pivot_table()/交叉表:pd.crosstab(index,colums)_第7张图片

你可能感兴趣的:(科学数据包)