在我们处理表格数据的时候,有时候只有几个列和其对应的个数,我们想得到这几个列里面最大值的列名,该怎么做呢?
数据样式:
我的解决方式是对每一行进行处理,再用pandas里面的apply函数
#!/bin/python #-*-coding:UTF-8-*- import os from sys import argv import pandas as pd import numpy as np df = pd.read_table("metaJ_numbers.txt",index_col = 0)#导入数据 global collist collist = list(df.columns)#得到列名 def appendmax(sr):#对每一行处理的函数 one = sr.idxmax()#得到最大值的index名 maxindex = pd.Series(one) sr = sr.append(maxindex)#添加 return sr dfe = df.apply(lambda x:appendmax(x),axis=1)#每一行apply dfe.columns = collist+["max"]#把最后的列名改一下 dfe.to_csv("metaJ_numbers2.csv")#保存更改的数据这样就可以得到如下的结果了: