调试Pandas数据帧应用

2024-04-24 21:00:48 发布

您现在位置:Python中文网/ 问答频道 /正文

熊猫新手,我有以下问题: 我想将我的func(一个自定义创建的函数)应用于dataframe的每一行。在

res = df.apply(lambda x: my_func(x, par1, par2)

当我调试并在函数的第一行设置断点时,定义为:

^{pr2}$

如果我计算我的输入变量myinput,我将得到整个数据帧(df)。 我只期待第一排测向仪。。我错过什么了吗?在

非常感谢

问候


Tags: lambda函数dataframedf定义myresfunc
1条回答
网友
1楼 · 发布于 2024-04-24 21:00:48

您需要在apply中设置axis=1

res = df.apply(lambda x: my_func(x, par1, par2), axis=1)

online docs声明axis=0是按列排列的,而{}是按行排列的

你可以把这一行传进来:

^{pr2}$

然后重新定义函数:

def my_func(row):
    # do something with col1
    row['col1'] = row['col1'] * 2
    row['col2'] = row['col2'] + 2
    # .... etc

相关问题 更多 >