python9

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

1.jupyter notebook的使用

  • 优势:交互、支持Markdown语法
  • 快捷键:运行-shif+enter
import numpy as np
np.__version__
'1.15.1'
from matplotlib import pyplot as plt
x = np.linspace(0,2*np.pi,100)
y = np.sin(x)
plt.plot(x,y)
plt.show()


正弦曲线

  • 1.1 绘制饼图
  • 生成一个名字列表,9个人 A、B、C、D、E
  • 随机生成这九个人的擅长使用王者荣耀英雄池的个数(120)
  • 绘制擅长英雄占比图
import string
from random import randint
from matplotlib import pyplot as plt
plt.rcParams["font.sans-serif"] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = string.ascii_uppercase
x
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
labels = [i for i in x[:9]]
labels
['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I']
x = [randint(0,120) for i in range(9)]
x
[39, 117, 69, 12, 10, 51, 120, 19, 31]
colors=['red','green','yellow','pink','orange','blue']
plt.pie(x=x,
        labels=labels,
        )
plt.axis('equal')    #设置成标准圆形
plt.legend(loc=2)    #指定象线
plt.title('擅长英雄占比图')
plt.show()


擅长英雄占比图

2.jupyteernotebook魔法命令

#%timeit   用于测量代码的运行时间
%timeit L= [i **2 for i in range(1000)]
527 µs ± 15.1 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
%timeit L= [i **2 for i in range(100000)]#loop 循环次数由jpyter内核自己决定
55.2 ms ± 469 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)
  • 2.2接多行的写法%%timeit
%%timeit
L = []
for i in range(100000):
    L.append(i**2)
62 ms ± 675 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)
#从上面的测试可以看出,列表推导式速度高于普通for循环
  • 2.3 NumPy
#导入
import numpy as np
#创建一个ndarray:类型
nparr = np.array([0,1,2,3])
nparr
array([0, 1, 2, 3])
type(nparr)
numpy.ndarray
  • 2.4 python 中list
L = [i for i in range(10)]
L
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
#list的特点是对存储数据的类型不做约束,优点是灵活,缺点是性能不足
%timeit L2 = [i*i for i in range(1000000)]
179 ms ± 6.13 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
%timeit L3 = np.arange(1000000)
3.21 ms ± 103 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

3. 创建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(4,10,3)
x
array([4, 7])
#创建矩阵
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是数据的维度
x.ndim
1
X.ndim
2
x.shape
(2,)
X.shape
(4, 4)
#元素个数
x.size
2
X.size
16

https://www.jianshu.com/p/313896abe99f

Python量化投资网携手4326手游为资深游戏玩家推荐:《《汉家江湖》冬至元旦活动21日启动!

「点点赞赏,手留余香」

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