输入文件格式为csv
NEG.csv示例:

每个样本四个生物学重复,如A206: A206_1、A206_2、A206_3、A206_4
Average.py脚本
import sys
import pandas as pd
from collections import OrderedDict
# 载入模块
df = pd.read_csv(sys.argv[1], index_col=0)
#df = pd.read_csv(sys.argv[1], index_col=0, delimiter='\t') #读入txt文件,假设使用制表符(tab)作为分隔符
# 读入文件
l = OrderedDict()
for i in df.columns:
l[i.rsplit("_", 1)[0]] = ""
# 提取样品文件
def mean_rep(x):
res = OrderedDict()
for sample in l:
res[sample] = x[df.columns[df.columns.str.match('{}_'.format(sample))]].mean()
return pd.Series(res)
# 建立求平均值的模块
res_df = df.apply(mean_rep, axis=1)
res_df.to_csv(sys.argv[2], header=True, index=True)
用法:python Average.py NEG.csv NEG.average.csv
网友评论