使用函数拆分数据帧并在 python 中单独调用数据帧时出错



我有一个数据帧:

df = pd.DataFrame([1,2,3,4,5,6])

我创建了一个函数,它将数据帧和百分比拆分作为输入,并根据输入创建两个新的数据帧

def splitdf(df,split=0.5):
a = df.iloc[:int(len(df)]*split)]
b = df.iloc[int((1-split)*len(df)):]

现在,当我运行此函数并调用"a"时

splitdf(df)
display(a)

我收到错误:未定义名称"a">

absplitdf本地的,所以你必须返回它们。

def splitdf(df,split=0.5):
a = df.iloc[:int(len(df)]*split)]
b = df.iloc[int((1-split)*len(df)):]
return a, b

然后,当您调用 splitdf 时,将返回值分配给某些变量:

df_a, df_b = splitdf(df)

您目前只是在splitdf中定义ab,然后在函数退出时它们停止存在,因为它们超出了范围。

相关内容

最新更新