来源技巧和窍门,特别是在编程中,可能会很有帮助。 小型的shot弹枪,插件或hack可以节省大量时间,并大大提高生产率。 我收集了我最喜欢的文章,并从中撰写了这篇文章。 下面的一些技巧已为许多人所熟知,并且最近出现了一些。 无论如何,我确信当您再次着手进行数据分析项目时,它们肯定不会多余。
1.分析熊猫数据框
分析可以帮助我们更好地理解我们的数据, Pandas分析包正是为此而创建的。 该库将提供一种简便,快捷的方法来对 Pandas Dataframe进行探索性分析 。 通常,在这种情况下,将df.describe()和df.info()函数用作第一步,但它们报告的很少,并且对大型数据集的处理效果不佳。 相比之下,使用Pandas Profiling的一行代码将在交互式HTML报告中输出很多信息。
这是给定数据集的计算结果:
Pandas Profiling输出的统计信息。安装方式
pip install pandas-profiling conda install -c anaconda pandas-profiling
使用方法
让我们使用《泰坦尼克号》乘客数据集展示分析器。
# import pandas as pd import pandas_profiling
df = pd.read_csv('titanic/train.csv') pandas_profiling.ProfileReport(df)
这就是显示分析结果所需的全部。 该报告充满了详细信息,包括适当的图表。
该报告可以导出到交互式HTML文件 :
profile = pandas_profiling.ProfileReport(df) profile.to_file(outputfile="Titanic data profiling.html")
单击此处观看直播。
( 带示例的文件夹 -大约翻译)
2.使熊猫图形互动
Pandas中的DataFrame类具有内置的.plot()函数。 但是,在其帮助下创建的可视化不是交互式的,我想改进它。 另一方面,我也不想放弃使用该功能的简单性。 如果我们可以使Pandas图形互动,而无需实际更改代码怎么办? Cufflinks库完全可以做到这一点。
袖扣将Plots的优势与Pandas交互式绘图的灵活性相结合。 让我们看看如何安装该库并使它与Pandas一起使用 。
安装方式
pip install plotly # Plotly Cufflinks pip install cufflinks
使用方法
# Pandas import pandas as pd # plotly cufflinks import cufflinks as cf
import plotly.offline cf.go_offline() cf.set_config_file(offline=False, world_readable=True)
是时候在泰坦尼克号乘客的数据上查看仪器的所有功能了。
df.iplot()
df.plot()与df.iplot()比较底部的可视化图显示了一个静态图,而上方的图则是交互式的且更加详细,所有这些都没有任何重大的语法更改。
在这里您可以看到更多示例。
3.一点魔力
魔术命令是Jupyter笔记本电脑中的一组便捷功能,旨在解决标准数据分析的常见任务。 您可以使用%lsmagic查看所有可用功能。
所有可用的“魔术”功能列表魔术命令有两种类型: 行魔术,以单个%开头并在同一行上工作。 和细胞魔法 ,它们与double %%相关联并且可以在多行上使用。
让我们看看在常规数据分析任务中有用的那些:
%pastebin将代码加载到Pastebin中并返回url。 Pastebin是一个站点,我们可以在其中保存纯文本(例如,源代码的一部分),然后将链接传递给其他人。 实际上,GitHub Gist与Pastebin类似,尽管具有版本控制。
考虑以下脚本:
# file.py def foo(x): return x
在Jupyter Notebook中使用%pastebin将在Pastebin上创建url。
%matplotlib内联命令用于在Jupyter Notebook中可视化matplotlib静态图。 用Notebook替换inline以获取可扩展和可变的图表。 只需确保在导入matplotlib之前已添加命令。
%matplotlib内联与%matplotlib笔记本相比%run命令在Jupyter Notebook中运行脚本。
%run file.py
%% writefile将单元格的内容写入文件。 下面的代码将被写入名为foo.py的文件中,并保存在当前目录中。
%%乳胶功能将单元格的内容显示为LaTeX。 这对于在单元格中编写数学公式和方程式很有用。
4.故障排除
交互式调试器也是一支神奇的团队,但我给了自己一个类别。 如果使用代码启动单元格时发生异常,请在新行上输入%debug命令并执行它。 将打开一个交互式调试环境,其中显示了发生异常的位置。 您可以检查变量的值并执行各种操作。 要退出调试器,请按q 。
5.结论可以很美
如果您希望数据结构漂亮地显示,那么pprint是您的选择。 这在打印字典或JSON数据时特别有用。 让我们看一下同时使用print和pprint进行输出的代码。
6.突出说明
我们可以在Jupyter笔记本中使用警报来突出显示重要的内容。 颜色将取决于警报的类型。 只需将以下任何或所有以下代码添加到要突出显示的单元格即可。
<div class="alert alert-block alert-info"> <b>Tip:</b> Use blue boxes (alert-info) for tips and notes. If it's a note, you don't have to include the word “Note”. </div>
<div class="alert alert-block alert-warning"> <b>Example:</b> Yellow Boxes are generally used to include additional examples or mathematical formulas. </div>
<div class="alert alert-block alert-success"> Use green box only when necessary like to display links to related content. </div>
<div class="alert alert-block alert-danger"> It is good to avoid red boxes but can be used to alert users to not delete some important part of code etc. </div>
7.在单元格中打印每个输出
考虑一个包含以下代码的Jupyter Notebook单元:
In [1]: 10+5 11+6
Out [1]: 17
这是仅输出最后一个输出的单元格的正常属性,对于其他单元格,我们需要添加print()函数。 好吧,事实证明,我们可以通过从上方添加以下片段来打印所有结论:
from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = "all"
现在,所有结论都陆续印出。
In [1]: 10+5 11+6 12+7
Out [1]: 15 Out [1]: 17 Out [1]: 19
要返回初始设置:
InteractiveShell.ast_node_interactivity = "last_expr"
8.使用-i选项运行Python脚本。
从命令行运行Python脚本的典型方法是: python hello.py 。 但是,如果您添加参数-i,即 致电python -i hello.py,您将获得更多。 让我们看看到底是什么。
- 首先,一旦到达程序末尾,Python将不再退出解释器。 因此,我们可以检查变量的值以及程序中定义的函数的正确性。
- 其次,由于我们仍在解释器中,因此我们可以轻松地调用python调试器:
import pdb pdb.pm()
这将导致我们到达发生异常的地方,并且我们可以继续处理代码。
功能的原始 来源 。
9.自动(ras)代码注释
Ctrl / Cmd + /在单元格中的选定行上自动注释。 再按一次组合键将取消注释相同的行。
(顺便说一下,这对于其他编辑器(例如Pycharm或Sublime Text-大约翻译)是正确的。)
10.取消随机动作
您是否曾经不小心删除了Jupyter Notebook单元? 如果是这样,那么以下是将取消此操作的shot口。
- 如果您删除了单元格中的内容,则可以通过按CTRL / CMD + Z轻松还原它
- 如果您需要恢复已删除的单元格本身-ESC + Z或EDIT>撤消删除单元格
结论
在本文中,我列出了在使用Python和Jupyter Notebooks时对我有帮助的基本技巧。 希望他们也能为您提供帮助。 编码愉快!