数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等。所进行的计算与数据跟数据透视表中的排列有关。
之所以称为数据透视表,是因为可以动态地改变它们的版面布置,以便按照不同方式分析数据,也可以重新安排行号、列标和页字段。每一次改变版面布置时,数据透视表会立即按照新的布置重新计算数据。另外,如果原始数据发生更改,则可以更新数据透视表。
传统的数据透视表一般是在excel中操作的,但excel操作比较麻烦,且excel读取大数据容易造成电脑卡的现象。而使用Python的pandas包,可以方便的处理excel数据,这里,我们介绍excel透视的替代方案,pandas的groupby函数。
In [1]:
import pandas as pd
本次分析数据存放在当前运行目录下的data/ASV目录下,df.sample(5)随机显示5行读取到的数据。
In [2]:
df = pd.read_table('./data/ASV/subsample_asv.tax.xls') df.sample(5)Out[2]:
1.按照门水平进行透视分析,并提取样品列进行求和。
to_excel("data/ASV/phylum.xlsx",index=True) 使得输出数据保存至data/ASV目录下的phylum.xls文件。
In [3]:
df.groupby('phylum').sum()Out[3]:
In [4]:
df.groupby('phylum').sum().to_excel("data/ASV/phylum.xlsx",index=True)
Excel输出文件如下图所示:
2.按照门和属进行透视,并输出到data/ASV目录下的phylum_1.xlsx文件。
In [5]:
df.groupby(['phylum','genus']).sum().to_excel("data/ASV/phylum_1.xlsx",index=True)
Excel输出文件如下图所示:
使用agg对每列进行统计计算
In [6]:
df.groupby('phylum').agg(['mean','std','count','max'])Out[6]:
In [7]:
df.groupby(['phylum','genus']).agg(['mean','std','count','max'])Out[7]:
往期相关链接:
1、R基础篇
excel不熟练怎么办,R来帮您(一)数据分类汇总; R相关软件及R包安装; 【零基础学绘图】之绘制venn图(五);2、R进阶
【绘图进阶】之六种带中心点的PCA 图和三维PCA图绘制(四);
【绘图进阶】之交互式可删减分组和显示样品名的PCA 图(三);
3.python基础篇
4、数据提交
3分钟学会CHIP-seq类实验测序数据可视化 —IGV的使用手册;
10分钟搞定多样性数据提交,最快半天内获取登录号,史上最全的多样性原始数据提交教程;
20分钟搞定GEO上传,史上最简单、最详细的GEO数据上传攻略;
5、表达谱分析
表达谱分析(二)通路富集分析和基因互作网络图绘制;6、医学数据分析
KING: 样本亲缘关系鉴定工具;【WGS服务升级】人工智能软件SpliceAI助力解读罕见和未确诊疾病中的非编码突变;
隐性疾病trio家系别忽视单亲二倍体现象——天昊数据分析助力临床疾病诊断新添UPD(单亲二倍体)可视化分析工具;
【昊工具】Oh My God! 太好用了吧!疾病或表型的关键基因查询数据库,我不允许你不知道Phenolyzer;
天昊客户服务中心
手机/微信号:18964693703
【本群将为大家提供】
分享生信分析方案
提供数据素材及分析软件支持
定期开展生信分析线上讲座
QQ号:1040471849
作者:大熊
审核:有才
来源:天昊生信团