我们前些天的推文:简单绘制一个3D效果的饼图吧,对比了R语言和Python的可视化效果,成功的吸引了不少小伙伴入坑Python编程语言,而且它确实是在单细胞数据处理领域占比有超越R的趋势,所以有必要开辟一个Python专辑啦。然后呢,开始学习一个编程语言,我们肯定是首先得安装好它,比如前面我们讲解了Python的安装,它多个版本的差异以及管理,详见:Python初体验之弄清楚版本差异和如何安装管理。
如果是在R编程语言,我们会推荐大家写rmarkdown,交互式动态呈现每次代码以及它的运行结果,一步到位输出HTML或者PDF格式的数据分析报表,非常方便。在Python编程语言里面,能实现类似的功能的就是Jupter的Notebook。
如何安装Jupter的Notebook
无论是Windows还是MacOS都可以通过专业Python IDE(PyCharm) 里面的终端窗口可以使用pip的install命令来安装任意成熟的Python模块,而Jupter的Notebook就是一个模块哦,只需要你电脑已经是配置好了Python的编程语言环境即可,然后就如下所示设置合理的镜像来加快你的模块安装速度!
pip install jupyter -i https://pypi.tuna.tsinghua.edu.cn/simple
上面的代码基本上不会出错,而且你多次运行也不会重复安装。安装成功了之后这个jupyter 就是在我们的终端的一个命令行工具软件啦,如下所示:
jupyter --help
usage: jupyter [-h]
Jupyter: Interactive Computing
positional arguments:
subcommand the subcommand to launch
options:
-h, --help show this help message and exit
--version show the versions of core jupyter packages and exit
--config-dir show Jupyter config dir
--data-dir show Jupyter data dir
--runtime-dir show Jupyter runtime dir
--paths show all Jupyter paths. Add --json for machine-readable format.
--json output paths as machine-readable json
--debug output debug information about paths
Available subcommands: console dejavu events execute kernel kernelspec lab labextension labhub
migrate nbconvert notebook qtconsole run server troubleshoot trust
可以看到这个jupyter软件有一系列大家的subcommands,我们最常用的就是输入jupyter notebook即可在浏览器中自动打开notebook啦,就是跳转到我们的电脑的浏览器里面然后自动打开了:
http://localhost:8888
接下来就是大量的熟悉这个界面啦,可以自己慢慢研读Jupyter官方网址:
以及配套的IPython官方网址:
这些都是小技巧,很难图文并茂给大家一个个演示,比如Jupyter Notebook快捷键大全都是靠实战来慢慢记忆的。
jupyter的一系列魔法命令
首先呢,前面我们输入jupyter notebook即可在浏览器中自动打开notebook啦,然后这个notebook就可以新建,这样的话浏览器里面的网页链接就变成了:notebooks/Untitled.ipynb
这个notebook就是交互式的可以练习你的Python编程哦,而且它里面的输入代码如果前面加上了感叹号而且是一个合法的系统命令(一般来说是Linux系统的各种命令啦),也是可以有运行结果,如下所示:
如果我们是Windows电脑通常是可以安装git软件它提供一系列系统命令,如果是MacOS它本身就类似于Linux所以也自带很多系统命令。但是这些仍然是不够的,还有一些魔法命令,官方文档:
其实它来源于IPython,但是我们默认安装Jupyter的时候IPython模块也是会被安装。这个时候主要是靠百分号的前缀来运行,可以使用%lsmagic:查看所有魔法命令。然后呢使用%time?的语法结构查看具体的魔法命令的帮助文档:查看time魔法命令帮助文档。
关于 .ipynb后缀的文件
现在越来越多文章采用Python编程语言完成全部的数据分析,尤其是单细胞领域,比如文章《Deconstruction of rheumatoid arthritis synovium defines inflammatory subtypes》:Nature 2023. doi: 10.1038/s41586-023-06708-y,就是如此,它代码公开在github里面,链接是:
可以看到里面有大量的 .ipynb后缀的文件,如下所示:
03-13-23_R4RA_CTAPclassificatin_Code.ipynb
2021-10-29_mapping_analysis.ipynb
CTAPs_predict_flow.ipynb
all_celltype_reference.html
all_celltype_reference.ipynb
define_CTAP_name.ipynb
fan_fibro_CNA.ipynb
histology_fragment_densities_analysis.ipynb
myeloid_visualization_pseudobulk.ipynb
tcell_visualization_pseudobulk.ipynb
test_theta_LISI.ipynb
visualize_CNA_res.ipynb
.ipynb
文件是 Jupyter Notebook 的文件格式,它包含了代码、文本、图表等元素,以及交互性的代码块。
- 如果你已经安装了 Jupyter Notebook,你可以在终端或命令提示符中导航到包含
.ipynb
文件的目录,然后运行命令jupyter notebook
。 - 在 Jupyter Notebook 界面中,你可以看到文件浏览器,通过点击文件名来打开
.ipynb
文件。
.ipynb
文件是一种方便的协作格式,多人可以编辑和注释同一个文件,共同进行项目工作。它主要是包含下面的四个单元:
- 代码单元(Code Cells):
- 在代码单元中,你可以输入和运行代码。点击代码单元,然后按
Shift + Enter
运行代码。你还可以使用工具栏中的按钮运行、停止、插入、删除代码单元等。
- 在代码单元中,你可以输入和运行代码。点击代码单元,然后按
- 文本单元(Markdown Cells):
- 在文本单元中,你可以使用 Markdown 语法编写文本、标题、列表等。点击文本单元,然后按
Shift + Enter
渲染 Markdown 格式。
- 在文本单元中,你可以使用 Markdown 语法编写文本、标题、列表等。点击文本单元,然后按
- 图表和输出:
- 执行代码单元后,输出结果(如图表、文本输出)将会显示在代码单元下方。
- 保存和导出:
- 使用 Jupyter Notebook 界面中的保存按钮或快捷键保存修改。你还可以导出
.ipynb
文件为其他格式,如 HTML、PDF 等。
- 使用 Jupyter Notebook 界面中的保存按钮或快捷键保存修改。你还可以导出
进阶到JupyterLab
如果是在R编程语言,大家写rmarkdown通常是在自己的电脑即可,如果是有服务器提供给多个用户就需要rstudio的server来管理大家。同样的,在Python编程语言里面的,大部分人写Jupter的Notebook也是在个人电脑,但是也可以使用JupyterLab,它是 Jupyter的Notebook的升级版,可以更灵活地管理和编辑 .ipynb
文件。
- JupyterLab的官网
- 在官网可以看到它提供了多种操作系统的对应的软件下载链接哦:
- 安装:必须要先装Node.js, 然后再安装Jupyter Desktop
- 先安装NodeJs:https://nodejs.org/en/download/,根据不同操作系统来下载Node的长期稳定版LTS选择最新版即可,下载后安装Node环境。
- 下载Jupyhter Desktop,是可安装文件,直接点击安装可以
值得一提的是如果你安装了Jupyter Desktop而且习惯了它,其实大概率就没必要使用JetBrains公司开发的专业Python IDE(PyCharm)。