python预热第九课

阿里云2000元红包!本站用户参与享受九折优惠!

jupyternotebook的使用

import numpy as np
np.__version__
'1.15.1'
[i for i in range(10)]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
from matplotlib import pyplot as plt
plt.rcParams["font.sans-serif"] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = np.linspace(0,2*np.pi,100)
y=np.sin(x)
plt.plot(x,y)
plt.show()


输出展示.png

快捷键

  • 运行 shift+enter
import string
string.ascii_uppercase
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
labels=[x for x in string.ascii_uppercase[:9]]
labels
['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I']
from random import randint
values=[randint(0,120) for _ in range(9)]
values
[118, 31, 10, 2, 20, 113, 63, 47, 70]
plt.pie(values,labels=labels,autopct='%1.1f%%',shadow=True)
plt.axis('equal')
plt.legend(loc=2)
plt.title('王者荣耀玩家擅长英雄占比图')
plt.show()


饼状图展示.png

jupyternotebook魔法命令

%timeit 用于测量代码运行时间

#%timeit后面只能接一句话
%timeit l =[i**2 for i in range(1000)]
524 µs ± 1.19 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
%timeit l =[i**2 for i in range(1000)]#loop循环的次数由jpyter内核自己决定
525 µs ± 1.44 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)

接多行的写法%%timeit

%%timeit
s=[]
for i in range(1000):
    s.append(i**2)
602 µs ± 18.1 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
#从上面的测试可以看出,列表推导式速度高于普通for循环

NumPy

NumPy

#导入
import numpy as np
#创建一个ndarray:类型
nparr=np.array([0,1,2,3])
nparr
array([0, 1, 2, 3])
type(nparr)
numpy.ndarray

python中list

L = [i for i in range(10)]
L 
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# list的特点是对存储数据的类型不做约束,优点是灵活,缺点是性能不足
%timeit L2 =[i for i in range(1000000)]
124 ms ± 1.57 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
%timeit L3 = np.arange(1000000)
3.25 ms ± 107 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)
[i for i in range(10)]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
np.arange(10)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

去创建ndarray的方式

#1传入列表
np.array([1,2,6,4])
array([1, 2, 6, 4])
#2传入列表推导式
np.array([i for i in range(10)])
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
#3使用arange() 类似range
x=np.arange(10)
x
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
np.arange(4,20,3)
array([ 4,  7, 10, 13, 16, 19])
创建矩阵
X=np.arange(0,16).reshape((4,4))
X
array([[ 0,  1,  2,  3],
       [ 4,  5,  6,  7],
       [ 8,  9, 10, 11],
       [12, 13, 14, 15]])
# ndarray的常用属性
#ndim是数据的维度
x.ndim
1
X.ndim
2
x.shape
(10,)
X.shape
(4, 4)

https://www.jianshu.com/p/5c28012c75c8

Python量化投资网携手4326手游为资深游戏玩家推荐:《万象若梦《决战!平安京》全新式神青坊主即将登场

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论