首页 > 解决方案 > 如何将变量分配给函数的返回对象并忽略显示

问题描述

目前我的功能是这样的

def create_dataframe():
    df1 = pd.DataFrame(x)
    display(df1)
    df2 = pd.DataFrame(x_2)
    display(df2)
    df3 = pd.DataFrame(x_3)
    return df3

我想稍后在将来的单元格中将变量设置为仅等于 df3,但是如果我运行该函数,它当然会同时显示数据帧 1 和 2。我只想在将 df3 设置为等于之前显示这些数据帧一次没有弹出显示的变量,例如:

correct_df = create_dataframe()

这应该只给我df3而不是显示

标签: pythonpandasdataframe

解决方案


干净地确定变量是否存在是棘手且容易出错的。最明确的是使用标志:

def create_dataframe(show=False):
    if show:
        df1 = pd.DataFrame(x)
        display(df1)
        df2 = pd.DataFrame(x_2)
        display(df2)
    df3 = pd.DataFrame(x_3)
    return df3

# first time
df3 = create_dataframe(show=True)

# others
df3 = create_dataframe()

推荐阅读