数据帧中的熊猫

问题描述 投票:0回答:1

我发布这个,希望我会得到一个令人信服的答案。 df是我的数据帧。我想知道在apply函数中传递给min_max的是什么。当我在min_max中打印行时,我没有获得与我在外面相同的数据帧

import numpy as np
    def min_max(row):
        print(row)
        print()
        data = row[['POPESTIMATE2010',
                    'POPESTIMATE2011',
                    'POPESTIMATE2012',
                    'POPESTIMATE2013',
                    'POPESTIMATE2014',
                    'POPESTIMATE2015']]
        return pd.Series({'min': np.min(data), 'max': np.max(data)})

    df.apply(min_max, axis=1)
python pandas dataframe
1个回答
0
投票

df.apply只调用/调用提供的函数,在你的情况下为输入轴中每个对象的min_max函数。从apply函数的documentation开始,axis = 1表示行方式操作,axis = 0表示列方式操作

因此,在您的情况下,它将为每行数据帧调用min_max函数。进一步阐述。

def print_funt(row):
    pdb.set_trace()
    print(row)


df = pd.DataFrame({'Temp1':[62,62,50,62,50,62,62],
                   'Temp2':[66,66,69,66,69,66,66],
                   'Temp3':[52,62,52,62,52,62,52],
                   'Target':[0.24,0.28,0.25,0.28,0.25,0.28,0.24]})


print(df)
df.apply(print_funt, axis=1)

output of apply function at first iteration

© www.soinside.com 2019 - 2024. All rights reserved.