如何将Pandas数据帧和列传递给函数

2024-09-24 22:28:16 发布

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

所以我在pandas数据帧中有大量的列,我需要通过一个函数传递一组列。函数很大,但我将在下面创建一个示例。我不知道如何通过数据框名称在没有得到变量未定义的问题的情况下。当我尝试以下函数时:

def bianco2(df, varX, varT):
    stdX = np.std(df.varX)
    stdT = np.std(df.varT)
    newVar = stdX + stdT
    return newVar

我得到的错误是varX没有定义。所以我写了一个函数,我将传递整个短语:

^{pr2}$

其中“varX=df.varX公司". 在

这是可行的,但对于大量变量来说并不实用,因为我仍然需要手动更新每个varX和varT。所以我试着用这个格式创建一个变量列表df.varX公司然后使用for循环传递变量列表。问题是python将其视为字符串而不是引用。我想用functools.partial但是没有成功。在

有什么想法可以用一个简单的格式来编写,并且能够将panda列传递给函数?在


Tags: 数据函数示例pandasdf列表格式np
1条回答
网友
1楼 · 发布于 2024-09-24 22:28:16

你想试试这个吗?在

def bianco2(df, varX, varT):
    stdX = np.std(df[varX])
    stdT = np.std(df[varT])
    newVar = stdX + stdT
    return newVar

print bianco2(df,'Customer','Policy')

输入

^{pr2}$

输出

  2095.39309492

相关问题 更多 >