机器学习和数据分析-Jupyter的魔法命令使用

1. %load  读取文件内容

2. %run   执行文件

3. %timeit  多次测试代码执行时间,求平均值

4. %time   单次测量代码执行时间

5. %%html 执行html代码

6. %%js    执行js代码

7.%%writefile  将内容写入到文件中

 

1.在桌面创建一个文件夹,名字叫做jupyter

2.进入文件夹jupyter中,按住shift键,【右击】,选择菜单栏中的“在此处打开命令窗口(w)”

3.在命令窗口中输入jupyter notebook 启动jupyter

C:\Users\Administrator\Desktop\jupyter>jupyter notebook

4.在http://localhost:8888/tree首页,点击new -> python3,创建一个新的notebook

5.在jupyter文件夹中,创建一个hello.py文件,内容为:

print("hello jupyter")

6.%run python文件,执行python代码

%run "hello.py"

7. %load 文件,读取文件中的内容。再次运行,可执行读取的代码

# %load "hello.py"

8.import 导入模块 ,在文件夹中创建一个demo.py文件,内容如下:

def show(str):
    print(str)

 导入文件并使用

import demo
demo.show("hello python")
from demo import show
show("你好")

 

9.对于导入的模块不用再次导入,那么如果修改了模块中的代码,就不会生效,这时候可以使用%run导入,导入文件后,直接使用文件中的方法即可,比如我现在修改了代码如下:

def show(str):
    print(str+"!!")

再次执行代码的时候,并不会生效

使用%run 重新导入文件,%run demo.py

%run demo.py
show("hello pyhon")

10. %timeit 测量一行代码执行的时间 (多次测量求平均值)

%timeit li = [i**2 for i in range(1000)]

以上是Python代码循环1000次得到的平均值,循环的次数会根据数值的大小自动调整

%timeit li = [i**2 for i in range(1000000)]
%timeit li = [i**2 for i in range(10)]

 

11. %%timeit 测试一个代码块执行的时间

%%timeit
li = []
for i in range(1000):
    li.append(i**2)

通过以上两个方法的对比,可得出列表推导式的代码效率更高

12.%time测量代码,但只执行一次,可能不准

%time li = [i*22 for i in range(1000)]
%%time
li = []
for i in range(1000):
    li.append(i**2)

 

 

13.%timeit和%time的对比

import random
li = [random.random() for i in range(100000)]
%timeit li.sort()
li = [random.random() for i in range(100000)]
%time li.sort()
%time li.sort()

time%第一次测量的时间很长,但是后面却很快,是因为python对sort这个方法进行了优化,已经排好序的列表,再次排序会很快,所以使用%time多次测量的时候,其实是不能反映sort方法排序效率的

14.%%html和%%js显示前端代码

%%html
<div class = 'mytest' style="color:red">my html </div>

 

 

%%js
document.querySelector(".mytest").innerHTML = "new content"

 

15. %%writefile,将当前内容写入到一个文件当中

%%writefile test.py
import random
li = [random.random() for i in range(100000)]
%timeit li.sort()

 

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值