从函数输出数据帧结果的适当方法是什么?

What is the appropriate way of outputting dataframe results from a function?

我是 python 和 pandas 的新手,我正在尝试创建一个函数来读取四个数据集并将它们合并到一个数据框中。如果我不尝试将所有这些都包装在一个函数中,我可以获得我需要的结果,但我计划为另外四个数据集创建一个类似的数据框,所以我相信这个函数会稍微清理一下。

使用下面的代码我得到以下错误(NameError: name 'crime' is not defined )

# function to import datasets and combine them for grouped analysis
def Crime2020():

    # import datasets from 2020
    mayCrime=pd.read_csv('C://datasets/summer_comp/2020-05.csv')
    junCrime=pd.read_csv('C://datasets/summer_comp/2020-06.csv')
    julCrime=pd.read_csv('C://datasets/summer_comp/2020-07.csv')
    augCrime=pd.read_csv('C://datasets/summer_comp/2020-08.csv')

    # combine dataframes using concatenation
    frames = [mayCrime, junCrime, julCrime, augCrime]
    crime = pd.concat(frames)
    
    return crime

crime = Crime2020(crime)
crime.head()

好像我没有正确访问该功能,但由于我是新手,所以我不太明白为什么。我尝试了几种在其他地方看到的不同方法,但似乎没有任何效果。

任何帮助将不胜感激。毫无疑问,我只是遗漏了一些简单的东西。

您正试图将不存在的变量传递给函数。 crime = Crime2020(crime) 应该是 crime = Crime2020() 因为变量是在函数内部创建的,而不是从外部传递的。

附带说明一下,更好的约定是对 类 使用大写命名,对函数使用蛇形命名。