numpy数组知识点

数据可视化:

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]])

通过索引组合可以实现灵活的获取和修改数组元素的操作


高级索引的一个常见用途是在一个矩阵中选择行的子集,常用于快速分割数据,以及在进行统计分析时抽样


高级索引可以获取部分数组,也可以用于修改部分数组

你可能感兴趣的:(numpy数组知识点)