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

学习ThinkStats2时nsfg模块及数据导入失败问题求助

问题1 正确运行nsfg.py的方法

  • 不要直接双击nsfg.py文件运行,先打开Anaconda Prompt终端
  • 执行cd 你解压的ThinkStats2文件夹的完整路径,进入nsfg.py所在的目录
  • 执行python nsfg.py即可看到运行输出,若有缺失依赖会直接提示报错,按照提示用conda install 缺的包名安装即可。

问题2 import nsfg不需要指定路径的原因

Python导入自定义模块时,只会搜索「当前运行环境的工作目录」「系统Python路径配置的目录」两个范围的文件,教程默认你启动Jupyter Notebook的工作目录就是nsfg.py所在的ThinkStats2解压目录,所以不需要额外配置。
如果你的Jupyter工作目录不在该文件夹,有两种解决方法:

  1. 每次启动Jupyter前,先在Anaconda Prompt里cd到ThinkStats2解压目录,再执行jupyter notebook启动服务
  2. 在你运行的notebook开头加入以下代码,手动添加模块搜索路径:
import sys
# 替换引号内的内容为你本地ThinkStats2文件夹的完整路径
sys.path.append("C:/Users/xxx/Downloads/ThinkStats2")

执行完上述代码后再运行import nsfg即可成功。

问题3 复制nsfg.py代码到notebook的适配方法

nsfg.py中引用的.dct、.gz数据文件默认都存放在ThinkStats2解压目录下,你只需要做以下任意一种操作即可:

  • 和问题2的解决方法一致,将Jupyter的工作目录切换到ThinkStats2解压目录,直接粘贴代码运行即可自动匹配到数据文件
  • 把nsfg.py代码中所有写文件名的位置,都替换为对应文件的本地绝对路径,例如把"2002FemPreg.dct"替换为"C:/Users/xxx/Downloads/ThinkStats2/2002FemPreg.dct"即可。

最简替代方案

把ThinkStats2解压目录下的nsfg.py、所有后缀为.dct和.gz的文件,都复制到你当前编写练习的Jupyter notebook文件所在的同一个文件夹下,不需要改任何路径配置,无论是import nsfg还是直接复制代码都可以直接运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 17:39:03