我有一个数据帧:
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">
a
和b
是splitdf
本地的,所以你必须返回它们。
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
中定义a
和b
,然后在函数退出时它们停止存在,因为它们超出了范围。