NameError: 名称 ‘df’ 未在 Python 中定义

NameError: 名称 ‘df’ 未在 Python 中定义

NameError: name ‘df’ is not defined in Python

当我们尝试在df定义 (DataFrame) 变量之前访问它时,会出现 Python“NameError: name ‘df’ is not defined”。要解决该错误,请确保df在访问变量之前对其进行声明。

nameerror 名称 df 未定义

下面是错误如何发生的示例。

主程序
import pandas as pd # ⛔️ NameError: name 'df' is not defined print(df) df = pd.DataFrame( { "Name": [ "Alice", "Bob", "Carl", ], "Age": [29, 30, 31], } )

问题是我们试图在df变量定义之前访问它。

要解决该错误,请确保在定义变量后对其进行访问。

主程序
import pandas as pd df = pd.DataFrame( { "Name": [ "Alice", "Bob", "Carl", ], "Age": [29, 30, 31], } ) # ✅ df exists print(df)

Python“NameError: name ‘df’ is not defined”的出现有多种原因:

  1. 访问df不存在的变量。
  2. 在变量声明之前访问df它。
  3. 从外部访问作用域变量。例如,df
    在函数中声明一个变量并试图从外部访问它。

这是一个尝试从外部访问作用域变量的示例。

主程序
import pandas as pd def my_func(): # 👇️ df exists only in this function df = pd.DataFrame( { "Name": [ "Alice", "Bob", "Carl", ], "Age": [29, 30, 31], } ) my_func() # ⛔️ NameError: name 'df' is not defined print(df)

我们在函数中声明了df变量,但我们试图从外部范围访问它。

解决错误的一种方法是将变量标记为global.

主程序
import pandas as pd def my_func(): global df df = pd.DataFrame( { "Name": [ "Alice", "Bob", "Carl", ], "Age": [29, 30, 31], } ) my_func() # ✅ works print(df)
请注意,global通常应避免使用关键字,因为它会使我们的代码更难阅读和推理。

另一种方法是从函数返回df变量并存储结果。

主程序
import pandas as pd def my_func(): df = pd.DataFrame( { "Name": [ "Alice", "Bob", "Carl", ], "Age": [29, 30, 31], } ) return df result = my_func() print(result)

无论您选择哪种方法,请确保该df变量在您尝试访问它的范围内可用。

结论

当我们尝试在df定义 (DataFrame) 变量之前访问它时,会出现 Python“NameError: name ‘df’ is not defined”。要解决该错误,请确保df在访问变量之前对其进行声明。