介绍 NumPy 的五种玩法
Python与算法社区
共 579字,需浏览 2分钟
·
2020-11-09 02:15
三步加星标
图解入门 NumPy,这篇文章,已经让我们感知到NumPy的强大,但要想真正用活NumPy,还不够!下面介绍五种玩法,以此深入掌握NumPy:
1. 记住NumPy中文网站:https://www.numpy.org.cn/,里面包括NumPy 的官档中文版,使用入门,实战等。
里面包括NumPy官档最详细的一个中文翻译,地址为:
2. 理解NumPy的向量化能力,这正是赋予它简洁的重要原因之一。使用Python原生API会经常写些for,但是NumPy让它变得不再需要,NumPy一切都是按照向量计算。如下计算小于3的元素置0,否则置为1:
# 使用Python原生
a = [10,4,-6,3,5,1]
# 小于3的元素置为0,不小于3的元素置为1
b = []
for i in a:
b.append(0 if i < 3 else 1)
print(b)
使用 NumPy 的where方法,语法更加简洁,看不到for语句,符合Python哲学:
# 使用NumPy
na = np.array(a)
# 一行代码
b = np.where(na < 3, 0, 1)
print(b)
na = np.array([10,4,-6,3,5,1])
na[na < 3]
# 结果如下:
# array([-6, 1])
# 创建二维数组
np.random.randint(1,10,size=(3,4))
c2 = np.random.randint(1,10,size=(3,4))
c2
array([[3, 2, 9, 9],
[9, 5, 2, 4],
[8, 1, 2, 4]])
# 更强大简洁的切片功能:
c2[:2,1:3]
array([[2, 9],
[5, 2]])
评论