You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Pandas函数中print(df)返回NoneType的原因及解决方法

错误出现的原因
  • 首先是变量作用域限制:你在create_df函数内部定义的df属于局部变量,仅在函数运行的上下文内有效,函数执行完成后,外部全局作用域无法直接访问这个局部变量。如果直接在全局执行print(df),全局作用域没有定义该变量时会抛出NameError;如果出现NoneType报错,大概率是函数的return语句漏写、或者return写在分支逻辑里没有被触发,Python中函数无明确返回值时默认返回None。
  • 其次你调用create_df()时没有接收返回值:函数的返回值如果没有赋值给变量,执行完就会被直接丢弃,全局作用域始终没有有效的df对象可供打印。
正确打印的方案

有两种常用实现方式:

  1. 调用函数时将返回值赋值给全局变量,再打印变量
import pandas as pd
def create_df():
    data = {'state': ['Ohio','Ohio','Ohio','Nevada','Nevada'],
           'year': [2000,2001,2002,2001,2002],
           'pop': [1.5,1.7,3.6,2.4,2.9]}
    df = pd.DataFrame(data)
    return df
# 接收返回值赋值给全局df
df = create_df()
print(df)
  1. 直接将函数调用作为参数传入print,无需额外定义变量
print(create_df())

内容的提问来源于stack exchange,提问作者JerryCAI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 23:36:03