如何正确覆盖(或创建我自己的)Pandas read_csv 方法?

How to properly override (or create my own) Pandas read_csv method?

我正在尝试在 pandas.read_csv 之上编写自己的 read_csv 方法。

# pandas_custom.py module
import pandas as pd
def read_csv(**kwargs):
    df = pd.read_csv(**kwargs)
    df = df.apply(my_function)
    return df

# main_module.py module
import pandas_custom as pdF
df = pdF.read_csv(filepath_or_buffer='train.csv') # WORKS
df = pdF.read_csv('train.csv') # TypeError: read_csv() takes 0 positional arguments but 1 was given

谁可以正确创建自己的 read_Csv 方法或覆盖原始方法?我应该只复制 https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html 中的所有参数并将它们粘贴到我的自定义 read_csv 方法中吗?

您正在尝试将参数传递给您的函数,但您的函数只接受 kwargs。尝试:

def read_csv(*args, **kwargs):
    df = pd.read_csv(*args, **kwargs)
    df = df.apply(my_function)
    return df