我创建了一个函数,如下所示从一个更大的数据帧创建一个数据帧
def prepare_data(cyl,typ):
global variable_name
global variable_name2
mask_bel1800 = (data_train_bel1800['Cycle'] == cyl) & (data_train_bel1800['Type'] == typ)
variable_name = ("DF{c}_{s}".format(c=cyl, s=typ))
variable_name = data_train_bel1800.loc[mask_bel1800, :]
mask = (data_train['Cycle'] == cyl) & (data_train['Type'] == typ)
variable_name2 = ("DF{c}_{s}_full".format(c=cyl, s=typ))
variable_name2 = data_train.loc[mask, :]
print('dataframe ' +'"DF'+str(cyl)+'_'+str(typ) +'"'+ " upto 1800 is ready")
print('dataframe ' +'"DF'+str(cyl)+'_'+str(typ)+'_full'+'"' " is ready")
当我把print(variable_name)
语句放入这个函数中时,数据帧就被打印出来了。
但是,在我运行这个函数之后,我尝试用df.head()
访问数据帧,我得到错误“df is not defined”!!!我做错什么了?在
我只打印变量“variable name”以确保我有正确的dataframe名称,而且它也是正确的]3
我认为您的函数缺少
return
语句,因此它返回None
。您还需要将函数的返回值赋给变量,以便以后使用。例如:现在可以调用函数并打印结果,如下所示:
^{pr2}$该函数使用}作为输入并返回{}。这意味着函数外部的
data_train
、cyl
和{df
现在是函数内部的prepared
。在相关问题 更多 >
编程相关推荐