利用pandas获取表格中每一行数据的最大值【python】

pandas可以说是python当中的表格处理神器,利用pandas可以实现很多使用的功能,下面脚本就是利用pandas找出每一行数据的最大值。

脚本一

import pandas as pd
df = pd.read_csv('all_rc.tsv', index_col=0, header=0, sep='\t')
output=open('out.tsv','w')
for i in range(0,len(df)):
    List = []
    List.append(df.index[i])
    List.append((df.iloc[i].sort_values(ascending=False)).index[0])
    List.append((df.iloc[i].sort_values(ascending=False))[0])
    output.write("\t".join("%s" %d for d in List) + "\n")

脚本二

import pandas as pd
df = pd.read_csv('all_rc.tsv', index_col=0, sep='\t')
df['max_idx']=df.idxmax(axis=1)
df['max_val']=df.max(axis=1)
df.to_csv('res.tsv', sep='\t') #把数据追加到原表格后面
df.to_csv('res2.tsv', sep='\t', columns=['max_idx','max_val']) #输出序列名字 最大值索引 最大值

两个脚本存在的问题是:如果最大值相同,脚本一会取索引值大的索引,脚本二会取索引值小的那个。

你可能感兴趣的:(生信脚本,python,pandas,最大值)