我想在函数中打印数据框的一列。它说未定义名称“数据”。我如何使其全球化?
我的功能是:
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]))
数据是我的数据框。
答案 0 :(得分:0)
不要:-)
导入它,并将其用作函数的参数。这样,您也可以使用其他数据框。如果确实存在,则永远而且应该永远只有一个数据帧,请使用单例模式(https://en.wikipedia.org/wiki/Singleton_pattern)并仍将其导入。
答案 1 :(得分:0)
虽然的确如此,但是在引入全局变量之前您应该认真考虑,您可以通过两种方式做到这一点:
要么在要访问的文件中定义变量,然后再使用它,要么在定义变量之前在函数中使用global
关键字。
请注意,使用这两种方法,您只能访问文件中的变量。 如果还不够,则需要将变量定义为built in variable。 但是认真的,不要这样做
编辑: 请注意,显然它与本地对象类似,您需要(确保)在使用它之前对其进行初始化!