一边记录一边加深印象
读取:
windows下,中文路径可能OSErro ,使用engine='python',sep分隔符
raw_df = pd.read_csv('D://WORK//整理OTU//otutab_norm_tax.xls',engine='python',sep='\t')
读取excel,选择第一列作为index(主要是方便对后面的列进行计算)
pd.read_excel(file,sep='\t',index_col=0)
存储:
直接输出到Excel,to_csv也很常用,当index为数字时,常常去掉,
df.to_excel('/Users/my/Documents/整理//otu.full.xls',index = False)
将多个dataframe输出到同一个excel中,需要确定startrow 与startcol,防止覆盖
write = pd.ExcelWriter(outfile)
group_prcent_t_df.to_excel(write)
group_prcent_df.to_excel(write,startrow = 8)
write.save()
数据框整理:
转置:
prcent_t_df = pd.DataFrame(prcent_df.values.T, index=prcent_df.columns, columns=prcent_df.index)
移动列位置:
OTU_df = p_df.OTU
p_df = p_full_df.drop('OTU',axis=1)
p_df.insert(0,'OTU',OTU_df)
去除多列:(好像不能超过6列?)
p_df = p_df.drop(['Kingdom','Phylum'],axis=1)
数据框计算:
groupby:
分组,统计,输出
p_df.groupby('OTU').sum().to_excel()
列计算:
group_prcent_df[col] = group_df[col]/group_df.sum()[col]