gpt4 book ai didi

python - Python 如何将一个库中的方法应用于另一个库的对象?

转载 作者:行者123 更新时间:2023-12-05 01:34:48 32 4
gpt4 key购买 nike

使用 pandarallel 时为了在我的数据帧上运行 .apply 方法时使用所有核心,我遇到了一种我以前从未见过的语法。相反,它是一种使用我不理解的点语法的方式。

import pandas as pd
from pandarallel import pandarallel

df = pd.DataFrame([[1, 2, 3], [4, 5, 6]], columns=['a', 'b'])


到目前为止一切顺利,只需设置一个数据框。接下来,得到pandarallel准备好了,我们做

pandarallel.initialize()


接下来是我感到困惑的地方:要使用 pandarallel,我们在数据帧上调用此方法

df.parallel_apply(func)


我的问题是:如果数据框 df使用 pandas 实例化图书馆,和pandas没有名为 parallel_apply 的方法, Python 怎么知道使用 pandarallel pandas 上的方法对象?

我认为这与初始化有关,但我以前从未见过,我不明白后端发生了什么。

最佳答案

您可以为先前创建的对象创建方法:

def my_func(self):
return 2*self


pd.DataFrame.my_method = my_func

df.my_method()

a b
2 8
4 10
6 12

你甚至可以传递参数:

def sum_x(self, x):
return self+x

pd.DataFrame.sum_x = sum_x

df.sum_x(3)
a b
4 7
5 8
6 9

第一个参数将是 self 作为类中的常用方法。

关于python - Python 如何将一个库中的方法应用于另一个库的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63580226/

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