首页 > 解决方案 > thinkstats2 书 - 卡在导入数据上

问题描述

它一定很简单,但不知何故我错过了一些东西......为长信息道歉,但这让我发疯了。

我正在阅读thinkstat2,这是一个关于数据科学统计的免费 pdf(初级)。它带有练习,所以我正在尝试按照说明导入数据。我将描述我正在遵循的步骤并给出页面,这就像阅读 2 分钟。

步骤 1a:第 8 页 - “0.2 使用代码” - 从作者的github获取代码。我没有 github 帐户,所以我将代码作为 zip 文件存储在我的硬盘上。然后我将内容提取到一个新文件夹中。

步骤 1b:第 9 页 - 作者建议获取 anaconda。据我了解,anaconda 包含许多不同的应用程序,您可以通过“anaconda navigator”使用。我有 anaconda 并将为此使用 Jupyter 笔记本。

第 2 步:第 9 页 - 作者要求从他的 zip 中运行“nsfg.py”,以确保读者已安装所有软件包。作者说我应该有一个确认信息。当我运行它时,有一个命令屏幕闪烁,没有任何错误或确认消息。但是如果只是为了检查是否正确安装了正确的包,我可以在我的代码中添加“import x”来添加丢失的包,所以这里不是一个真正的问题(或者我相信)。我继续前进。

第 3 步:第 24 至 26 页 - “1.3 导入数据”和“1.4 数据帧” - 这是我卡住的地方。运行“nsfg.py”(我在步骤2中提到)后,作者要求“导入nsfg”,这是他自己从“nsfg.py”创建的包?也许?所以我尝试导入它并且它不被识别。这可能来自第 2 步中的“不是真正的问题”......我在“nsfg.py”内部进行了检查,它似乎是清理和读取 .dct 和 .gz 文件的代码。

问题:

  1. 我不明白我应该怎么做才能使“nsfg.py”正常运行。

  2. 我不明白我的 jupyter 笔记本如何理解“import nsfg”,因为它们位于我的硬盘上。作者没有添加任何关于从本地驱动器或从 url 导入任何内容到他的 github 的行(不在 nsfg.py 的代码中,除非我错过了它)。

  3. 我想只是复制粘贴“nsfg.py”的代码并运行它,但我相信它不会起作用,因为提到的 .dct 和 .gz 文件也保存在本地。所以我不明白从我在 jupyter notebook 上运行的 nsfg.py 粘贴的代码如何与那些本地 .dct 和 .gz 文件建立链接。我的 python 不够先进,无法手动修补...

帮助:((欢迎任何替代解决方案)

标签: pythonjupyter-notebook

解决方案


解决这个问题的两种方法都对我有用:

首先,复制书中摘录的内容,假设您使用的是 linux 或 mac:

  1. 在您的终端中点击git clone https://github.com/AllenDowney/ThinkStats2.git您想要放入的任何文件夹
  2. 然后cd ThinkStats2/code
  3. 然后python nsfg.py
  4. 然后python再次点击给你一个交互式shell,这本书的作者似乎正在使用它——注意每个命令之前的>>>,这表明它不在Jupyter笔记本中。

要让它在 Jupyter 笔记本中工作:

  1. 在您的终端中点击git clone https://github.com/AllenDowney/ThinkStats2.git您想要放入的任何文件夹
  2. 在您的 jupyter notebook 界面中,在与 ThinkStats2/code 文件夹相同的目录中创建一个新 notebook。
  3. 在笔记本上打import nsfg

我认为您可能会遇到错误,因为您没有从与文件相同的目录运行笔记本,nsfg.py这意味着 python 找不到脚本,因此无法导入它。


推荐阅读