在notebook中,我改变了我正在使用的模型,并对残差图做了一个小的改变。让我们看一下nbdime提供的结果差异。 从下面的图片中可以看到,nbdime逐行和单元格显示了自上次提交以来所更改的内容。...$ nbqa pylint dataframe_basics.ipynb 这给了我一个标准的pylint输出,它突出显示了代码中的错误。 ?...我在现有的两本notebook上进行测试。第一个运行没有错误,并给出如下输出。 ? 下面给出了一个notebook测试失败的例子。 ?...最初的实验和分析是过去结果的有用记录,在以后的日子里应该可以回到notebook上建立你的工作。因此,值得探索的工具可以帮助使在notebook中编写的代码更加健壮和可复制。...本文介绍了四种工具,它们可以帮助使notebook中的代码更好、更可重用。有关可重复数据科学代码的更多提示,请参阅下面我之前的文章。
它就相当于一个快捷键管理大师,它时刻地在: 教导你,当下你的这个操作,应该使用哪个快捷操作来提高效率? 提醒你,当下你的这个操作,还没有设置快捷键,赶紧设置一个?...Jupyter Notebook in PyCharm 使用 Jupyter 之前 ,先要安装它 $ pip install jupyter 然后按照下图指示新建一个 Notebook ,就可以开始运作了...在 PyCharm 中新开一个文件。缺点是要新创建一个文件,完了后还要删除。 今天再给大家介绍一种新的方法,可以完全避开上面两种方式的缺点。...在Name这一个列中双击某一行可以跳转到对应的代码。...,找出代码隐藏的错误和缺陷。
因为我们想要检查两个不同的变体,所以我们将创建原始数据框架的两个副本。 df_1 = df.copy() df_2 = df.copy() 下面的代码将删除所有缺少值的行。...如果您在Jupyter notebook中运行此代码,您将看到有一个输出(上面的屏幕截图)。inplace = False函数将返回包含删除行的数据。...如果您希望更新原始数据以反映已删除的行,则必须将结果重新分配到原始数据中,如下面的代码所示。...常见错误 使用inplace = True处理一个片段 如果我们只是想去掉第二个name和age列中的NaN,而保留number of children列不变,我们该怎么办?...这样就可以将dataframe中删除第二个name和age列中值为空的行。
查找并解决错误 交互式调试器也是一个神奇的功能,我把它单独定义了一类。如果在运行代码单元时出现异常,请在新行中键入%debug并运行它。这将打开一个交互式调试环境,它能直接定位到发生异常的位置。...接下来看一个使用print和pprint来显示输出的示例。 ? ? 让你的笔记脱颖而出 我们可以在您的Jupyter notebook中使用警示框/注释框来突出显示重要内容或其他需要突出的内容。...自动评论代码 Ctrl / Cmd + /自动注释单元格中的选定行,再次命中组合将取消注释相同的代码行。 ? 删除容易恢复难 你有没有意外删除过Jupyter notebook中的单元格?...如果需要恢复整个已删除的单元格,请按ESC + Z或EDIT>撤消删除单元格。 ? 结论 在本文中,我列出了使用Python和Jupyter notebook时收集的一些小提示。...一行代码就可以搞定炫酷的数据可视化! 总结100个Pandas中序列的实用函数 Pandas模块,我觉得掌握这些就够用了!
它的用途有: 只用最少的输入,就能搜索、补全和执行先前运行过的指令; 在不同session间保存命令历史; 将日志输入/输出历史到一个文件 这些功能在shell中,要比notebook更为有用,因为notebook...扫描cumtime列,可以容易地看出每个函数用了多少时间。如果一个函数调用了其它函数,计时并不会停止。cProfile会记录每个函数的起始和结束时间,使用它们进行计时。...在Jupyter notebook中,你可以使用%%prun魔术方法(两个%)来分析一整段代码。这会弹出一个带有分析输出的独立窗口。便于快速回答一些问题,比如“为什么这段代码用了这么长时间”?...这样,当你%rundiamante,就可以查看所有定义在main中的变量。这等价于在Jupyter notebook的代码格中定义一个顶级变量。 扁平优于嵌套 深层嵌套的代码总让我联想到洋葱皮。...最大的改变是,十个手指头,除了两个大拇指和右手的小拇指,其它指尖竟然磨出了茧。读者们持续的阅读、点赞、留言、指出错误,让我感觉是和很多人一起完成一项有意义的事情。Thanks all!
这是有道理的,因为对于初学者来说,在Jupyter Notebook的单元格中开始编写代码比编写具有类和函数的脚本要容易得多。...Jupyter Notebook之所以成为数据科学中如此普遍的工具的另一个原因是,Jupyter Notebook使其易于浏览和绘制数据。...我知道必须有一种更好的方式来处理我的代码,所以我决定尝试一下脚本。这些是我在使用脚本时发现的好处: 有组织的 Jupyter Notebook中的单元格使得很难将代码组织成不同的部分。...例如,如果我们想在新数据中删除不同的列,我们只需要更改columns_to_drop为要删除的列的列表,代码就可以平稳运行!...一旦发生这种情况,相对于凌乱的Jupyter Notebook,您将开始认识到脚本的许多优点,并希望在脚本中编写大部分代码。 话虽如此,Jupyter Notebook仍可用于探索和可视化数据。
在本章中,我介绍了如何使用IPython和Jupyter,在附录A中有更深入的介绍。...要启动Jupyter,在命令行中输入jupyter notebook: $ jupyter notebook [I 15:20:52.739 NotebookApp] Serving notebooks...这是一个自包含文件格式,包含当前笔记本中的所有内容(包括所有已评估的代码输出)。可以被其它Jupyter用户加载和编辑。要加载存在的notebook,把它放到启动notebook进程的相同目录内。...这些也可以tab补全,但是你必须首先键入一个下划线才能看到它们。如果你喜欢总是在tab补全中看到这样的方法,你可以IPython配置中进行设置。可以在IPython文档中查找方法。...表2-2列出了一些可以提高生产率的交互计算和Python开发的IPython指令。 ?
在本章中,我介绍了如何使用IPython和Jupyter,在附录A中有更深入的介绍。...这是一个自包含文件格式,包含当前笔记本中的所有内容(包括所有已评估的代码输出)。可以被其它Jupyter用户加载和编辑。要加载存在的notebook,把它放到启动notebook进程的相同目录内。...另外,tab补全可以补全函数的关键词参数(包括等于号=)。见图2-4。 ? 图2-4 Jupyter notebook中自动补全函数关键词 我们来仔细看看函数。 自省 在变量前后使用问号?...表2-2列出了一些可以提高生产率的交互计算和Python开发的IPython指令。 ?...标量类型 Python的标准库中有一些内建的类型,用以处理数值数据、字符串、布尔值,和日期时间。这些单值类型被称为标量类型,本书中称其为标量。表2-4列出了主要的标量。
Jupyter Notebook in PyCharm 使用 Jupyter 之前 ,先要安装它 $ pip install jupyter 然后按照下图指示新建一个 Notebook ,就可以开始运作了...这个界面感觉和 Jupyter 的风格不太符 但是使用上是没有什么区别的,记住三个快捷键就好(下面指的是 Mac 上的,Windows 上的有所不同) Ctrl+Enter:运行该 cell...在 PyCharm 中新开一个文件。缺点是要新创建一个文件,完了后还要删除。 今天再给大家介绍一种新的方法,可以完全避开上面两种方式的缺点。...在Name这一个列中双击某一行可以跳转到对应的代码。...,找出代码隐藏的错误和缺陷。
再强调一遍:我同步发布了一个 Jupyter Notebook,其中包含我在本文中讨论的例子。试试看!...有很多方法可以测试、编译和发布 Cython 代码!Cython 甚至可以直接用在 Python 这样的 Jupyter Notebook 中。...但是,spaCy 做的远不止这些,它使我们能够访问文档和词汇表的完全覆盖的 C 结构,我们可以在 Cython 循环中使用这些结构,而不必自定义结构。...in range(10)) 我在左边写了一个脚本,它生成用于 spaCy 解析的 10 份文档的列表,每个文档大约 170k 字。...在我的 Jupyter Notebook 中,这个 Cython 代码的运行时间大约为 20 毫秒,比我们的纯 Python 循环快大约 80 倍。
只要它的内核处于活动状态,就可以用数据子集运行和测试脚本,而不用每次重启程序,这样可以加快我们开发和测试的速度。 但是因为它太简单了,所以我们经常会犯一些错误,浪费我们的时间和计算成本。...2、执行另一个Jupyter notebook文件 可以使用魔术命令来做一些有趣的事情。例如,从py文件中执行python代码,或从ipynb文件中执行jupyter notebook。...默认情况下,panda的dataframe只能显示有限数量的行和列。...有几种方法可以扩展Jupyter Notebook中pandas DataFrame中显示的行和列的数量。...我们在jupyter notebook中执行单元格时,它将分配一个行号为ln: 当单元格完成执行时,我们会得到一个输出并且可以通过传递执行编号作为索引来访问它 Out是一个python字典,存储单元格的所有输出
nbdev 允许用户在 Jupyter Notebook 中创建包含测试和丰富文档系统的完整 Python 包。我们已使用 nbdev 编写了一个大型编程库(fastai v2)以及多个小型项目。...下图是 nbdev 真实源代码中的一个片段,该片段即在 nbdev 中写成。 ? 在 nbdev 源代码中探索 notebook 文件格式。...事实上,它不仅没有影响生产效率,我还使用它构建出了之前无法构建的东西。它帮助我在试验算法后立即得到视觉化反馈。...很多学生发现它具备试验输入、查看中间结果和输出的能力,且允许修改,从而帮助他们更完备、深刻地理解正在讨论的主题。 我们还使用 Jupyter Notebook 写了一本书,这是一件很有趣的事。...简而言之:我们真的喜欢用 Jupyter Notebook,并利用它做出了很棒的作品,学生也喜欢它。但是我们竟然没法用它来构建自己的软件! Jupyter Notebook 少了什么?
它基于 Jupyter Notebook 构建,并将 IDE 编辑器的优点带入 Jupyter Notebook,可以在 Notebooks 中开发而不影响整个项目生命周期。...nbdev 允许用户在 Jupyter Notebook 中创建包含测试和丰富文档系统的完整 Python 包。我们已使用 nbdev 编写了一个大型编程库(fastai v2)以及多个小型项目。...下图是 nbdev 真实源代码中的一个片段,该片段即在 nbdev 中写成。 ? 在 nbdev 源代码中探索 notebook 文件格式。...事实上,它不仅没有影响生产效率,我还使用它构建出了之前无法构建的东西。它帮助我在试验算法后立即得到视觉化反馈。...简而言之:我们真的喜欢用 Jupyter Notebook,并利用它做出了很棒的作品,学生也喜欢它。但是我们竟然没法用它来构建自己的软件! Jupyter Notebook 少了什么?
nbdev,它基于 Jupyter Notebook 构建,并将 IDE 编辑器的优点带入 Jupyter Notebook,可以在 Notebooks 中开发而不影响整个项目生命周期。...nbdev 允许用户在 Jupyter Notebook 中创建包含测试和丰富文档系统的完整 Python 包。我们已使用 nbdev 编写了一个大型编程库(fastai v2)以及多个小型项目。...下图是 nbdev 真实源代码中的一个片段,该片段即在 nbdev 中写成。 ? 在 nbdev 源代码中探索 notebook 文件格式。...事实上,它不仅没有影响生产效率,我还使用它构建出了之前无法构建的东西。它帮助我在试验算法后立即得到视觉化反馈。...简而言之:我们真的喜欢用 Jupyter Notebook,并利用它做出了很棒的作品,学生也喜欢它。但是我们竟然没法用它来构建自己的软件! Jupyter Notebook 少了什么?
,终端挂了,我就和服务器断开连接了,特别不爽,那么有没有办法在终端关闭之后还继续跑着服务器上的 jupyter-notebook 呢,答案肯定是有的 nohup 用 nohup 这个命令,就可以在终端退出连接后服务器上依旧在跑着我们的代码...的几个标准流,有 stdin , stdout , stderr ,分别用 0 , 1 , 2 表示,因此,我们可以通过标准流的重定向来将标准输出和标准错误重定向到自定义文件中,所以,下面这样子我们就可以捕获到每次的错误信息...$ nohup jupyter-notebook --ip 0.0.0.0 >out.log 2>err.log & 用下面这个也是可以的,将输出和错误信息都重定向到一个文件中( 2>&1 的意思是将.../kill.sh jupyter-notebook 但是直接这样的话就会有问题,因为我是在学校的服务器上使用,因此不止我一个人在使用,可能其他人也在使用 jupyter-notebook ,例如我现在服务器上就有另外一个人在使用...jupyter-notebook ,要是直接跑脚本就会把这个老哥的 jupyter-notebook 也给 kill 了 所以还是得通过进程 ID 号来杀死我们的程序,虽然有点烦,但是挺保险的 $
所以,我在这里介绍下自己编程时最喜欢使用的一些提示和技巧,在这篇文章中汇总起来呈现给大家。有些可能是大家熟悉的,而有些可能是新鲜的,我相信它们会为你下一次处理数据分析的项目时提供便利。 1....输出一个执行单元中的所有结果 下面来看一下Jupyter Notebook格中包含的几行代码: In[1]: 10+5 11+6 Out[1]: 17 通常一个执行单元只输出最后一行的结果...好吧,事实证明我们可以通过在Jupyter Notebook开头添加以下代码来输出每一行的结果: from IPython.core.interactiveshell import InteractiveShell...删除容易恢复难 你有没有不小心误删过Jupyter Notebook中的执行单元呢?如果有,这里有一个可以撤消该删除操作的快捷方式。...如果你想要恢复所删除执行单元的所有内容,可以点击ESC+Z 或者 EDIT > Undo Delete Cells 总结 在上文中,我列出了在自己在使用Python和Jupyter Notebook时所收集的重要技巧
查找并解决错误 交互式调试器也是一个神奇的功能,我把它单独定义了一类。如果在运行代码单元时出现异常,请在新行中键入%debug并运行它。 这将打开一个交互式调试环境,它能直接定位到发生异常的位置。...接下来看一个使用print和pprint来显示输出的示例。 让你的笔记脱颖而出 我们可以在您的Jupyter notebook中使用警示框/注释框来突出显示重要内容或其他需要突出的内容。... 打印单元格所有代码的输出结果 假如有一个Jupyter Notebook的单元格,其中包含以下代码行: In [1]: 10+5 11+6Out [1]: 17 单元格的正常属性是只打印最后一个输出...自动评论代码 Ctrl / Cmd + /自动注释单元格中的选定行,再次命中组合将取消注释相同的代码行。 删除容易恢复难 你有没有意外删除过Jupyter notebook中的单元格?...如果需要恢复整个已删除的单元格,请按ESC + Z或EDIT>撤消删除单元格。 结论 在本文中,我列出了使用Python和Jupyter notebook时收集的一些小提示。
%matplotlib notebook 函数用于在Jupyter notebook中呈现静态matplotlib图。用notebook替换inline,可以轻松获得可缩放和可调整大小的绘图。...查找并解决错误 交互式调试器也是一个神奇的功能,我把它单独定义了一类。如果在运行代码单元时出现异常,请在新行中键入%debug并运行它。这将打开一个交互式调试环境,它能直接定位到发生异常的位置。...接下来看一个使用print和pprint来显示输出的示例。 ? ? 让你的笔记脱颖而出 我们可以在您的Jupyter notebook中使用警示框/注释框来突出显示重要内容或其他需要突出的内容。...自动评论代码 Ctrl / Cmd + /自动注释单元格中的选定行,再次命中组合将取消注释相同的代码行。 ? 删除容易恢复难 你有没有意外删除过Jupyter notebook中的单元格?...如果需要恢复整个已删除的单元格,请按ESC + Z或EDIT>撤消删除单元格。 ? 结论 在本文中,我列出了使用Python和Jupyter notebook时收集的一些小提示。
公众号:尤而小屋 作者:Peter 编辑:Peter 大家好,我是Peter~ 很多读者问过我,Peter文章中的Python代码都是用的什么编辑器写的?...从2019年至今,使用了两年半多的时间,今天就好好聊聊它~ 工欲善其事,必先利其器 [008i3skNgy1gv5ojafjubj61cm0mgjsq02.jpg] <!...] 我们在notebook中运行py文件:查看3个变量和返回值的情况 [008i3skNly1gv72pxyfpgj60ny0hmgml02.jpg] 扩展功能 安装 Jupyter notebook本身功能其实不是很多...在Jupyter notebook中是可以直接Markdown语法来编写内容的,两种方式可以实现。....jpg] 拼写检查 这是检查拼写错误的一个扩展,能够快速的发现我们拼写中的错误。
Python 是开源的,它很棒,但是也无法避免开源的一些固有问题:很多包都在做(或者在尝试做)同样的事情。..._1 ].map(len) 复制代码 len() 函数被应用在了「column_1」列中的每一个元素上 .map() 运算给一列中的每一个元素应用一个函数 data[ column_1 ].map(len...它可以帮助你在一行中更加简单、高效地执行多个操作(.map() 和.plot())。 data.apply(sum) 复制代码 .apply() 会给一个列应用一个函数。...reset_index() 会将数据重构成一个表。 正如前面解释过的,为了优化代码,在一行中将你的函数连接起来。....iterrows() 使用两个变量一起循环:行索引和行的数据 (上面的 i 和 row) 总而言之,pandas 是 python 成为出色的编程语言的原因之一 我本可以展示更多有趣的 pandas
领取专属 10元无门槛券
手把手带您无忧上云