pandas 添加最大值的列名

时间:2021-06-02 15:11:38

在我们处理表格数据的时候,有时候只有几个列和其对应的个数,我们想得到这几个列里面最大值的列名,该怎么做呢?

数据样式:

pandas 添加最大值的列名pandas 添加最大值的列名

我的解决方式是对每一行进行处理,再用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")#保存更改的数据
这样就可以得到如下的结果了:

pandas 添加最大值的列名