from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = “all”
from pydataset import data
quakes = data(‘quakes’)
quakes.head()
quakes.tail()
输出的效果是将head和tail都输出,而不是只有tail输出
如果你希望所有Jupyter 的cell都这样输出,创建一个文件~/.ipython/profile_default/ipython_config.py并输入以下代码:
c = get_config()
Run all nodes interactively
c.InteractiveShell.ast_node_interactivity = “all”
3.快速链接文档
你可以在Help菜单中看到一些常用库,如NumPy, Pandas, SciPy and Matplotlib的文档。不过你还可以在方法前面加?来查看对应的文档。
执行下面这行代码在Jupyter Notebkook中
?str.replace()
将显示文档
Docstring:
S.replace(old, new[, count]) -> str
Return a copy of S with all occurrences of substringold replaced by new. If the optional argument count isgiven, only the first count occurrences are replaced.
Type: method_descriptor
4.在notebooks中绘图
常用的绘图库包括:matplotlib, Seaborn, mpld3, bokeh, plot.ly, Altair
5-15.魔法命令
由于Jupyter是基于IPython内核的,所以Jupyter可以使用IPython内核中的Magics命令。
可以使用%lsmagic查看所有的magic命令。
- %env,设置环境变量
你可以管理notebook的环境变量,而无需重新启动Jupyter服务器进程。有些库(比如theano)使用环境变量来控制行为,%env是最方便的方法。
Running %env without any arguments
lists all environment variables
The line below sets the environment
variable
%env OMP_NUM_THREADS%env OMP_NUM_THREADS=4
output
env: OMP_NUM_THREADS=4
- %run,执行python代码
有时候你有一份已经写好的*.py文件,你可以在Jupyter中执行它。
this will execute and show the output from
all code cells of the specified notebook
%run ./two-histograms.ipynb
- %load,导入外部脚本。
有时候你想运行一个外部脚本,但是想用Jupyter加一些代码,那么你可以先把它load进Jupyter。
你有一个hello_world.py文件
内容是if name == “main”: print(“Hello World!”)
在Jupyter中先用%load载入
%load ./hello_world.py
运行%load ./hello_world.py命令后,在你的cell中就出现以下几行代码(你执行的%run语句会显示已经注释)
%load ./hello_world.py
if name == “main”:
print(“Hello World!”)
- %store,在notebook之间传递变量。
在notebook A 中
data = ‘this is the string I want to pass to different notebook’
%store data
del data # This has deleted the variable
在notebook B 中
%store -r data
print(data) # 显示this is the string I want to pass to different notebook
- %who,显示所有的变量
某个cell中有以下四行代码
one = “for the money”
two = “for the show”
three = “to get ready now go cat go”
%who str
输出为
one three two
%%time
和%timeit
%%time
将提供代码单次运行的信息,%%timeit
将默认运行你的代码100,000次,提供最快运行三次的平均结果。
%%writefile
和pycat
,导出单元格的内容/显示外部脚本的内容
%%writefile
保存cell内容到外部文件。%pycat
正好相反。
-
%prun
,显示程序中每个函数的调用信息 -
%pdb
,代码调试 -
为视网膜(Retina)屏输出高分辨率图像
常规图像
x = range(1000)
y = [i ** 2 for i in x]
plt.plot(x,y)
plt.show();
视网膜(Retina)图像
%config InlineBackend.figure_format =‘retina’
plt.plot(x,y)
plt.show();
16.在函数末尾加入分号可以抑制输出
在函数末尾加分号可以抑制函数的输出。
17.执行shell命令
在shell命令前面加
一些例子
!ls *.csv
!pip install numpy
!pip list | grep pandas
18.在markdown cell 中书写LaTeX时,它会被 MathJax 渲染成一个公式
19.在一个notebook中运行多种kernel的代码
如果想要的话,你可以在一个notebook中运行多种kernel的代码
在每个cell的开头使用相关的魔法命令来声明你想使用的 kernel。
支持:%%bash, %%HTML, %%python2, %%python3, %%ruby, %%perl
%%bash
for i in {1…5}
do
echo “i is $i”
done
20.为Jupyter安装其他的kernel
Jupyter其实不止可以用于python编程,安装一个R内核它就可以用于R语言编程。
通过Anaconda安装
conda install -c r r-essentials
手动安装
你需要先从https://cloud.r-project.org下载安装R
然后在R控制台下运行以下代码
install.packages(c(‘repr’, ‘IRdisplay’, ‘crayon’, ‘pbdZMQ’, ‘devtools’))
devtools::install_github(‘IRkernel/IRkernel’)
IRkernel::installspec() # to register the kernel in the current R installation
21.在同一个notebook中运行R和Python
你可以安装rpy2用pip install rpy2
%load_ext rpy2.ipython
%R require(ggplot2)
array([1], dtype=int32)
import pandas as pd
df = pd.DataFrame({
‘Letter’: [‘a’, ‘a’, ‘a’, ‘b’, ‘b’, ‘b’, ‘c’, ‘c’, ‘c’],
‘X’: [4, 3, 5, 2, 1, 7, 7, 5, 9],
‘Y’: [0, 4, 3, 6, 7, 10, 11, 9, 13],
‘Z’: [1, 2, 3, 1, 2, 3, 1, 2, 3]
})
%%R -i df
ggplot(data = df) + geom_point(aes(x = X, y= Y, color = Letter, size = Z))
22.用其他语言来写函数
有时numpy的速度不够快,我需要写一些快速的代码。
原则上,可以在动态库中编译函数并编写python包装器…
但是把这个无聊的部分做完会更好,对吧?
您可以用cython或fortran编写函数,并直接从python代码中使用这些函数。
首先你需要安装cython:
!pip install cython fortran-magic
%load_ext Cython
%%cython
def myltiply_by_2(float x):
return 2.0 * x
myltiply_by_2(23.)
就个人而言我建议使用fortran:
%load_ext fortranmagic
%%fortran
subroutine compute_fortran(x, y, z)
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Python开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注Python)
最后
不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~
给大家准备的学习资料包括但不限于:
Python 环境、pycharm编辑器/永久激活/翻译插件
python 零基础视频教程
Python 界面开发实战教程
Python 爬虫实战教程
Python 数据分析实战教程
python 游戏开发实战教程
Python 电子书100本
Python 学习路线规划
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
永久激活/翻译插件
python 零基础视频教程
Python 界面开发实战教程
Python 爬虫实战教程
Python 数据分析实战教程
python 游戏开发实战教程
Python 电子书100本
Python 学习路线规划
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
[外链图片转存中…(img-Qst3V59s-1712859283216)]