pd.Series.apply关键字参数是pd.Series

2024-06-30 08:41:13 发布

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

我在数据帧中的一个系列上使用apply来使用具有多个关键字参数的函数。我在第一个输入(称为sk)上使用apply函数,然后在数据帧的其他列中使用其他参数。我的应用行如下所示:

Updates['Action'] = Updates['sk'].apply(RCCheck.nsamcheck, reportseries=Updates['reportseries'],rssd=Updates['rssd'], username=username, pw=password)

我收到一个错误消息(函数正在查询Oracle SQL数据库):

DatabaseError: ORA-12801: error signaled in parallel query server P000
ORA-01722: invalid number

但是,如果我使用:

 Updates['Action'] = Updates['sk'].apply(RCCheck.nsamcheck, reportseries='abcd',rssd='1234', username=username, pw=password)

它可以正常工作,但使用pd.series引用的意义在于它可以向下移动每一行并返回函数输出。报告系列和rssd每行不同。我真的不能分享更多的代码,所以我很抱歉没有分享太多

我想做的事可能吗


Tags: 数据函数参数usernameactionpasswordskapply
1条回答
网友
1楼 · 发布于 2024-06-30 08:41:13

将函数应用于整个数据帧,而不是应用于一个系列

def my_new_func(row):
    return RCCheck.nsamcheck(
        reportseries=row['reportseries'], rssd=row['rssd'], username=username, pw=password
)

Updates['Action'] = Updates.apply(my_new_func, axis=1)

相关问题 更多 >