如何使数据框全局化并在函数中使用它?

时间:2019-04-08 17:30:42

标签: python pandas dataframe

我想在函数中打印数据框的一列。它说未定义名称“数据”。我如何使其全球化?

我的功能是:

def min_function():
    print("Choose action to be performed on the data using the specified metric. Options are list, correlation")
    action = input()
    if action == "list":
        print("Ranked list of countries' happiness scores based the min metric")
        print(data['country'], data.sort_values(['min_value'], ascending=[0,0]))

数据是我的数据框。

2 个答案:

答案 0 :(得分:0)

不要:-)

导入它,并将其用作函数的参数。这样,您也可以使用其他数据框。如果确实存在,则永远而且应该永远只有一个数据帧,请使用单例模式(https://en.wikipedia.org/wiki/Singleton_pattern)并仍将其导入。

答案 1 :(得分:0)

虽然的确如此,但是在引入全局变量之前您应该认真考虑,您可以通过两种方式做到这一点:

要么在要访问的文件中定义变量,然后再使用它,要么在定义变量之前在函数中使用global关键字。

请注意,使用这两种方法,您只能访问文件中的变量。 如果还不够,则需要将变量定义为built in variable但是认真的,不要这样做

编辑: 请注意,显然它与本地对象类似,您需要(确保)在使用它之前对其进行初始化!