如何获取 pandas 应用函数中所有df数据 [英] How to get all df data inside apply function of pandas

查看:38
本文介绍了如何获取 pandas 应用函数中所有df数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

import pandas as pd
test_df =pd.DataFrame({"col1":[1,12,3,4],
            "col2":[3,14,5,6],
             "col3":[4,5,6,7]})

print(test_df)
   col1  col2  col3
0     1     3     4
1    12    14     5
2     3     5     6
3     4     6     7

def highlight(row):
    df1 = pd.DataFrame('', index=row.index, columns=row.columns)
    # set columns by condition
    df1.loc[row['col2'] == 5, 'col2'] = "AA"
    df1.loc[row['col3'] == 5, 'col3'] = "BB"
        
    return ret

df_output= test_df.apply(highlight, axis=1)


以上代码给出的错误:AttributeError:‘Series’对象没有属性‘Columns’,请帮助我更正突出显示方法代码。

推荐答案

def highlight(row):
    ret = [ i for i in row.values] 
    # set columns by condition
    if row['col2'] == 5:                                                                         
        ret[row.index.get_loc('col2')] ="AA" 
    if row['col3'] == 5:                                                                         
        ret[row.index.get_loc('col3')] ="BB" 
        
    return ret

data= test_df.apply(highlight, axis=1)
d= data.tolist()
s= pd.DataFrame(d, index=[1,2,3,4],columns=['col1','col2','col3'])


这篇关于如何获取 pandas 应用函数中所有df数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆