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")#保存更改的数据
这样就可以得到如下的结果了:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值