gpt4 book ai didi

python - 在我自己创建的函数周围包装一个 pandas 函数

转载 作者:太空宇宙 更新时间:2023-11-04 01:56:39 26 4
gpt4 key购买 nike

我有一个 Tweetanalyzer 类,它有一个数据框作为实例变量。

现在我想创建一个 write_to_csv 函数,它可以接受 pandas to_csv 函数的所有参数。

我这样做的原因是我不想调用 -> Tweetanalyzer.df.to_csv 只是 Tweetanalyzerobject.write_to_csv 但具有与 to_csv 相同的功能。

我想包装函数可能是包括 *args 和 **kwargs 的正确方法,但我没有让它工作。

class TweetAnalyzer:

def __init__(self, tweets, df = pd.DataFrame({'A' : []})):

self.tweets = tweets
if df.empty:
self.df = self.tweets_to_dataframe(self.tweets)
else:
self.df = df

def write_to_csv(self):

self.df.to_csv()

因此,如果我调用 object.write_to_csv(encoding = "utf-8"),它将被解析为 to_csv 代码,代码将在我的函数 write_to_csv 中不指定“编码”的情况下工作。

谢谢!!!

最佳答案

是的,使用 *args 和 **kwargs 可能是正确的想法!像这样:

class TweetAnalyzer:
def __init__(self, tweets, df=pd.DataFrame({"A": []})):
self.tweets = tweets
if df.empty:
self.df = self.tweets_to_dataframe(self.tweets)
else:
self.df = df

def write_to_csv(self, *args, **kwargs):
self.df.to_csv(*args, **kwargs)

有关更完整的解释,请参阅:What does ** (double star/asterisk) and * (star/asterisk) do for parameters?

关于python - 在我自己创建的函数周围包装一个 pandas 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56673219/

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