数据可视化:
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns
sns.set()
比较操作:
np.isclose(a,b)
比较两个数据是否相同并返回一个布尔数组,相同返回True,不同返回False,可以指定参数atol,表示比较时的误差
np.allclose(a,b)
道理相同,返回的是一个布尔值
np.all()
对所有的数据进行比较,如果都满足条件则返回True
np.any()
只要有一个数据满足条件就返回True
如果要快速检索任意或者所有值是否为True,可以使用np.all或者np.any完成
逐位运算符:
& 按位与运算
| 按位或运算
~ 按位非运算
^ 按位异或运算
高级索引之传递一个索引数组来一次性获得过个数组元素,也可以对多个维度进行索引。注意:高级索引返回值是广播后的索引数组的形状
x=np.arange(12).reshape((3,4))
row=np.array([0,1,2])
col=np.array([2,1,3])
x[row,col]
输出结果:
array([ 2, 5, 11])
x[row[:, np.newaxis], col]
结果:
array([[ 2, 1, 3],
[ 6, 5, 7],
[10, 9, 11]])
高级索引还可以与其他索引结合起来形成更加强大的索引操作
mask = np.array([1,0,1,0],dtype=bool)
x[r[:,np.newaxis],mask]
结果:
array([[ 0, 2],
[ 4, 6],
[ 8, 10]])
通过索引组合可以实现灵活的获取和修改数组元素的操作
高级索引的一个常见用途是在一个矩阵中选择行的子集,常用于快速分割数据,以及在进行统计分析时抽样
高级索引可以获取部分数组,也可以用于修改部分数组
网友评论