gpt4 book ai didi

python - 如何在应用的函数内引用正在应用函数的数据框

转载 作者:行者123 更新时间:2023-12-01 04:01:09 26 4
gpt4 key购买 nike

如何在应用的函数内引用正在应用函数的数据帧。

例如,我有一个名为 name_df 的数据框。它有 4 列(没有指定索引)。

我有一个名为calculate_stats的函数,它接受多个参数(整数值和df的混合)。

在calculate_stats中我想引用name_df['name1']name_df['name2']

我做到了:

name_df.apply(calculate_stats, axis=1, args=(r, df,x,y,z))

在calculate_stats中我使用r['name1']r['name2']

但出现错误,指示NameError:名称“r”未定义

如下link他们将函数 func1 应用于数据帧 df。引用 df 中每一行的参数指定为 r。因此,在 func1 内部,可以使用 r['colname'] 引用 df 的列。我如何对我的函数执行同样的操作?

In [37]: df
Out[37]:
X Y Count
0 0 1 2
1 0 1 2
2 1 1 2
3 1 0 1
4 1 1 2
5 0 0 1

In [38]: def func1(r):
....: print(r['X'])
....: print(r['Y'])
....: return r
....:

最佳答案

当前行始终是传递给函数的第一个参数,args 中的参数将在后面传递。

如果我正确理解你想要做什么,这应该有效:

name_df.apply(calculate_stats, axis=1, args=(df, x, y, z))

这将计算 calculate_stats(r, df, x, y, z),其中 r 是该函数所应用的数据帧的当前行。

关于python - 如何在应用的函数内引用正在应用函数的数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36481299/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com