如何在不将其分配给变量的情况下,从一个函数中全局访问该数据框?

问题描述 投票:0回答:1

我有一个执行几个命令并在最后创建一个数据框的函数:

def Pos_Presentation():
    df = pd.DataFrame(columns=['ID', 'Date', 'Time', 'Session','Condition','Stimulus','Response_Type','Reaction_Time'])
    return df

我希望在函数外部创建并访问数据框(df)。但是当我尝试时:

Pos_Presentation()
df

我收到一个错误:

---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-4-00cf07b74dcd> in <module>
----> 1 df

NameError: name 'df' is not defined

我尝试过:

def Pos_Presentation():
        global df
        df = pd.DataFrame(columns=['ID', 'Date', 'Time', 'Session','Condition','Stimulus','Response_Type','Reaction_Time'])
        return df

Pos_Presentation()
df

在Jupyter_Notebook中,这有效。但是在Psychopy中,这是我需要运行的地方,它给我一个错误:

NameError: name 'df' is not defined

我无法将此函数分配给变量(例如var = Pos_Presentation(),因为它除了生成数据帧以外还执行其他许多工作。

python-3.x psychopy
1个回答
1
投票

我认为您只需要将PosPresentation()的输出分配给df,就像这样:

def Pos_Presentation():
    global df
    df = pd.DataFrame(columns=['ID', 'Date', 'Time', 'Session','Condition','Stimulus','Response_Type','Reaction_Time'])
    return df

df = Pos_Presentation()
“但是功能“ Pos_df”之外的那个)。
© www.soinside.com 2019 - 2024. All rights reserved.