首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

数据科学的软件工程技巧和最佳实践

当notebook文件随着函数、类、绘图和日志的增加而增大时,你会发现自己面前有一个庞大的代码块。如果幸运的话,项目有可能进展顺利,这再好不过了!...你可以将所有这些单元放在一个名为text_processing.py 的python模块中,并从中导入这些单元,这样主程序会变得更轻! 关于编写模块化代码,分享一些好的技巧: 不要自我重复。...通过检查每项操作的运行时间来检查脚本可能存在的瓶颈。 尽可能避免for循环,并将操作矢量化,尤其是在使用NumPy或pandas之类的库时。 借助多进程充分利用计算机的CPU。...为函数和模块编写测试有很多好处: 它提高了代码的稳定性,使我们更容易发现错误 它可以防止意外输出 它有助于检测边缘情况(极端的例子) 它可以防止将损坏的代码推送到生产环境中 7 — 使用日志 一旦代码的第一个版本开始运行...完成了他们的工作,但那样的日子已经一去不复返了,那些报告和jupyter的notebook文件与公司的系统和基础设施没有任何联系。

62820

一文弄懂Jupyter的配置与使用(呕心沥血版)

需要注意的是,如果您在导入模块时发生了错误,比如因为模块不存在或者路径设置不正确等原因,后续的单元格也会受到影响。...此外,如果您使用了一些需要进行初始化的模块,比如 TensorFlow 或者 PyTorch 等深度学习框架,建议您在每个单元格开头手动进行初始化操作,以避免出现意外的错误。...如果您遇到了模块无法被正确导入的问题,可以尝试在单元格中手动添加 sys.path,将需要导入的模块所在的路径加入到 sys.path 中。...例如: import sys sys.path.append('/path/to/module/') # 将模块所在的路径添加到 sys.path 中 import module_name # 导入模块...如果前一个单元格没有被执行或者输出结果不符合要求,会导致当前单元格出现错误。 顺序依赖性:有些单元格必须以特定的顺序执行,否则会出现错误。

20.3K85
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    用scikit-learn开始机器学习

    image Jupyter Notebook 安装好所有东西后,您就可以开始使用Jupyter Notebook; 将Jupyter Notebook当作为类似 Swift Playgrounds 的.../anaconda2/bin/jupyter notebook notebooks 在这里,您首先创建了一个名为notebooks的新文件夹。...然后,您从该新文件夹启动了Jupyter Notebook Server。 您的默认浏览器应该打开Jupyter Notebook页面。...注意:如果您在尝试保存Notebook时遇到问题,请确保您没有在页面上运行浏览器扩展程序; 广告拦截器之类的东西可能会导致问题。 Notebook很像Swift Playgrounds。...构建并运行应用程序。请注意每当您更改其中一个输入参数时,销售预测是如何更新的! ? 最终项目产出 然后去哪儿? 您可以从此处下载完整的iOS应用程序和Jupyter Notebook。

    1.7K10

    详解RemoveError: setuptools is a dependency of conda and cannot be removed from

    因此,当你尝试从Conda环境中移除setuptools时,Conda会阻止这个操作并显示上述的错误信息,以确保环境的稳定性。...下面是一个例子,演示了如何处理这个错误并在实际应用场景中创建一个新的Conda环境。 假设我们要创建一个用于深度学习的Conda环境,其中包括TensorFlow和Jupyter Notebook。...=3.8接下来,激活我们新创建的环境:shellCopy codeconda activate dl_env现在,我们可以安装TensorFlow和Jupyter Notebook,它们是我们深度学习环境的关键组件...:shellCopy codeconda install tensorflowconda install jupyter然而,如果我们尝试移除setuptools,就会遇到上述错误:shellCopy...,在这个环境中可以安装和使用TensorFlow和Jupyter Notebook来进行深度学习任务。

    1.4K10

    从Jupyter Notebook切换到Script的5个理由

    但是,每次尝试新方法时,都需要重新运行整个笔记本。这很耗时,尤其是在处理过程或培训需要很长时间才能运行时。 对于重现性而言并不理想:如果要使用结构略有不同的新数据,则很难在笔记本中识别错误源。...对于生产而言并不理想: Jupyter Notebook在与其他工具配合使用时效果不佳。使用其他工具时,从Jupyter Notebook运行代码并不容易。...我知道必须有一种更好的方式来处理我的代码,所以我决定尝试一下脚本。这些是我在使用脚本时发现的好处: 有组织的 Jupyter Notebook中的单元格使得很难将代码组织成不同的部分。...每当我们要处理数据时,我们都知道该类中的函数Preprocess可用于此目的。 鼓励实验 当我们想尝试另一种预处理数据的方法时,我们可以通过注释掉这样的方式来添加或删除函数,而不必担心破坏代码!...您可以在脚本中创建类和函数,然后将其导入笔记本中,以使笔记本不那么混乱。但是请注意不要过度使用笔记本,尤其是当您要将代码投入生产时。 如果您对较大的变化不满意,请从小做起。 大变化始于小步。

    1.2K20

    机器学习筑基篇,Jupyter Notebook 精简指南

    再之后,在谷歌、微软等互联网巨头的赞助下,IPython Notebook 发展成为更加成熟和完善的开源项目,并更名为 Jupyter Notebook 并且已经成为现代处理数据的必备工具。...4.代码补全 在 Jupyter Notebook 中,可以通过 Tab 键激活代码补全功能,例如 # 当我们在使用 import 导入模块时,只需输入 im ,然后按 Tab 键 im # 若要某个模块下包含函数的自动补全...,必须要导入模块之后才会生效。...Notebook代码补全图 5.函数说明 在 Jupyter Notebook 中,可以通过【鼠标点击导入包的函数】并按 shift + tab 查看函数帮助说明功能,例如 # 运行导入 pprint...(当 Markdown 单元格处于编辑状态时,运行即可复原)。 Ctrl + Enter: 运行代码并在下方插入一个新的单元格。 Tab : 模块函数代码自动补全。

    46710

    Jupyter 进阶教程

    debug,计时以及执行多种语言; 探索如 logging、macros、运行外部代码以及 Jupyter 的拓展插件; 介绍如何加强 Seaborn 模块的图表,通过命令行运行,以及使用数据库。...%timeit 和 %time 的区别在于,它会对给定代码运行多次,并计算一个平均时间,可以通过添加参数 -n 来指定运行的次数,如果没有指定,则会自动选择一个最佳的数量。例子如下所示: ?...配置日志(Configuring Logging) 在 Jupyter 中有自定义了如何输出错误信息的方法,它可以通过导入 logging 模块实现。 ? 如上图所示,对于错误信息,会高亮显示。...,比如每次创建一个新的 notebook,都需要导入相同的一堆第三方库,对每个数据集都进行的统计方法,或者绘制相同类型的图表。...Jupyter notebook 最强大的作用是其交互式的流程,但它也可以在非交互式的模式下运行,即可以通过脚本或者命令行形式运行 jupyter notebook。

    1.3K20

    jupyter notebook的安装与使用

    运行上面的命令之后,你将看到类似下面这样的输出: 如上图,它打开了一个端口,并且会在你的浏览器中打开这个页面,主目录是图中的那个directory(可能第一次打开没有这个目录)。...这些只要稍微尝试一下就能懂,下面主要介绍一些常用的技巧 **注意,jupyter notebook 是支持 TAB 键自动补充单词的,再一次展示了其强大友好的一面!...code下拉栏显示是markdown类型,这种类型非常适合用notebook做教程时的说明部分 以后代码里print 的内容都是以markdown的格式显示的。...of various notebook extensions for Jupyter 参考【一些微小的关于使用Jupyter Notebook的经验(Jupyter)文字】 C.运行python文件...python myfile.py D.导入外部代码 比如有一个test.py文件,需要将其载入到jupyter的一个cell中 在需要导入该段代码的cell中输入 shift + enter运行后,%

    82120

    10 个加速 python 数据分析的简易小技巧

    尝试用 notebook 替换内嵌部件,以轻松获得可缩放和可调整大小的绘图。确保在导入 Matplotlib 库之前调用了函数。 ?...4.发现和消除错误 interactive debugger 也是一个神奇的函数,但我已经为它提供了自己的一个类别。如果在运行代码单元时遇到异常,请在新行中键入%debug 并运行它。...5.输出也可以很漂亮 如果您想为数据结构生成美观的表示,pprint 是你想要的模块,它在打印字典或 JSON 数据时特别有用。让我们来看一个使用 print 和 pprint 显示输出的示例。 ?...10.删除容易恢复难 你有没有不小心删除了 Jupyter notebook 上的一个单元的经历?如果有,那么这里有一个快捷方式可以撤消删除操作。...结 论 在本文中,我列出了在使用 Python 和 Jupyter notebook 时收集到的主要技巧。我相信它们会对你有用,你会从这篇文章中收回一些东西。好了,开始快乐的编码之旅吧!.

    2K30

    Jupyter Notebook 使用手册

    01 安装Jupyter Notebook Python中没有包含Jupyter笔记本,所以如果您想试用它,您需要安装Jupyter。...您现在应该看到一个名为Rename Notebook的浏览器对话框。让我们把这个重命名为Hello Jupyter: ?...因此,要验证一切是否正常工作,可以向单元格添加一些Python代码并尝试运行其内容。 让我们尝试添加以下代码到该单元格: print('Hello Jupyter!')...当我运行上面的代码时,输出如下: ? 如果您的笔记本中有多个单元格,并且按顺序运行单元格,那么您可以跨单元共享您的变量和导入。...这使得将代码分成逻辑块变得很容易,而不需要重新导入库或在每个单元中重新创建变量或函数。 当您运行一个单元格时,您会注意到在单元格左侧的单词旁边有一些方括号。

    3.5K20

    如何使用虚拟环境和Jupyter Notebook

    创建一个Python虚拟环境(venv) 我们将使用一个名为venv的Python模块,它是Python标准库的一部分,是Python安装附带的。...一旦它被创建,我们就会看到一个名为“tut_venv”的文件夹出现在当前目录中。...__version__) 注意:如果我们试图在IDLE中运行此代码,它可能无法工作,因为当前IDLE不在我们刚刚安装pandas的虚拟环境中。根据你的机器,当前的“环境”可能没有pandas。...要使用正确的venv运行代码,我们需要从激活venv的控制台执行代码。为此,只需键入: python3 venv_eg.py 这一次,代码将在正确的虚拟环境中运行。...Jupyter Notebook在网络浏览器中运行,而且也是交互式的,其交互性比普通的Python IDLE要好得多。

    3.9K10

    让Linux服务器后台执行任务

    ,终端挂了,我就和服务器断开连接了,特别不爽,那么有没有办法在终端关闭之后还继续跑着服务器上的 jupyter-notebook 呢,答案肯定是有的 nohup 用 nohup 这个命令,就可以在终端退出连接后服务器上依旧在跑着我们的代码...jupyter-notebook --ip 0.0.0.0 这样子的话程序的输出就默认会输出到同级目录的 nohup.out 文件中,并且这个终端也还是被占用了,不能干其他事,因此,上面这样并没有什么卵用...& 这样子的话,jupyter 就在后台运行,不会影响当前终端,并且退出之后 jupyter-notebook 还在继续运行,依然可以通过主机进行远程访问服务器,此时的输出在 nohup.out 里面...我们可以通过 jobs 命令查看当前后台的任务 但是服务器要是出了什么事,由于什么原因报错了我们是不知道的,因为没有将 stderr 输出,因此,我们最好自己输出错误日志 首先我们再来回顾一下 Linux...stderr 重定向到 stdout 如果不加 & 的话就会新建一个名为 1 的文件 ) $ nohup jupyter-notebook --ip 0.0.0.0 >jupyter.log 2>&1

    1.8K20

    优化Jupyter Notebook:提示,技巧,nbextension,Productivity tips

    运行pip show jupyter_contrib_nbextensions以查找安装NoteBook扩展的位置 运行jupyter contrib nbextensions install以安装新扩展...从其他NoteBook中选择性导入 出错或打开NoteBook时滚动到最近执行的单元格 交互式(跟随)尾部,用于长输出 注意:为了使其易于使用,将下面提供的代码段收集到Python3包(jupyter-helpers...虽然安装一个名为的替代品notify-send.sh会使通知在不再需要时消失。...带有HTML的命名空间:在转换为DataFrame之前需要查看嵌套数据时 6.从其他NoteBook中选择性地导入 一段时间,试图跟随数据/方法/结果的分离,其具有用于每个较大分析3个Jupyter...为了节省无用的重新计算某些东西的时间,从数据和方法NoteBook中选择性地导入,以便在结果NoteBook中使用。

    5K20

    实验一 Anaconda安装和使用(上机Python程序设计实验指导书)

    [==version] 卸载SomePackage模块的指定版本 python -m pip 以模块方式运行pip 可以在命令提示符环境中执行“pip help”命令查看pip命令帮助,执行效果部分截图如图...关于安装的几点建议如下: (1)安装时选择定制安装,建议不要把Anaconda安装在C盘上。 (2)安装时选择针对所有用户。...图1-15 Jupyter Notebook下保存文件 读者请注意,Jupyter Notebook默认保存的文件扩展名为.ipynb。...定位到开始菜单中【Anaconda3】下的【Jupyter Notebook】,右键单击【Jupyter Notebook】,选择【更多】下面的【打开文件位置】,然后右键单击【Jupyter Notebook...(五)遇到问题,先看系统给出的错误提示信息,先确定出错点,再去利用所学知识来解决,不能解决时可以通过百度查询资料、和同学讨论或者向老师寻求帮助。

    45310

    解决在jupyter notebook中

    昨天学习pandas和matplotlib的过程中, 在jupyter notebook遇到ImportError: matplotlib is required for plotting错误, 以下是解决该问题的具体描述...不能导入matplotlib?在cmd命令窗口下确认: ? 没有报错, 说明安装成功, 而且能够被成功导入. 2....再次运行pandas的plot()方法, 仍然报错, 而且再次检查没有发现语句中存在错误. 那么问题来了, 为什么pandas中的plot()方法不能用? 3....在pycharm中能够成功运行, 而在jupyter notebook中不能运行, 看起是IDE的问题, 那么两者存在什么差异呢:  就我个人电脑而言, pycharm是我刚刚启动的(安装好matplotlib...后), 而jupyter notebook已经好几天没有关闭过了(安装matplotlib前后都没有关闭过), 为了确保两者条件统一, 试着重启下jupyter notebook.

    1.4K30

    如何为Python 3设置Jupyter Notebook

    在本指南结束时,您将能够使用在本地计算机或远程服务器上运行的Jupyter Notebook运行Python 3代码。...例如,对于用户名sammy和服务器地址203.0.113.0,命令将是: ssh -L 8888:localhost:8888 sammy@203.0.113.0 如果在运行ssh -L命令后没有出现错误...为此,请执行以下命令: jupyter notebook Jupyter笔记本的活动记录将打印到终端。当您运行Jupyter Notebook时,它将在特定的端口号上运行。...如果您当前没有运行Jupyter Notebook,请使用该jupyter notebook命令启动它。 您现在应该使用Web浏览器连接到它。Jupyter Notebook功能强大,功能强大。...x = 2 y = x**2 print(y) 要运行代码,请按CTRL+ENTER。您将收到以下结果: 您现在可以像导入任何其他Python开发环境一样导入模块并使用笔记本! 结论 恭喜!

    2.8K00

    在Jupyter Notebook中显示AI生成的图像

    在本指南中,我将详细介绍如何构建一个基于用户输入的动态高效图像生成应用程序,并在Jupyter Notebook中显示图像输出。 什么是Jupyter Notebook?...Jupyter Notebook是从事机器学习、数据科学和数据可视化等领域的Python用户的首选工具。...创建应用程序 在您的项目目录终端中,运行此命令:jupyter notebook,以在http://localhost:8888上启动开发环境。...os.getenv函数的目的是读取OPENAI_API_KEY密钥值并将其设置为可在应用程序中使用。 接下来,让我们通过从openai模块导入OpenAI类来初始化OpenAI客户端的实例。...使用DALL-E 3生成原始图像 生成图像时,我们将允许用户使用Python的input函数输入他们想要的提示。如果他们没有输入提示,则当用户在空白输入上按下回车键时,提供的提示将显示图像。

    14810
    领券