Python Numpy高级操作

嘉美伯爵

数据处理 Numpy 385

注意

当 axis为None的时候,np对象将失去维度,按一维处理

拷贝

  • view

浅拷贝,值变动会影响

  • copy

深拷贝,值变动不会影响

索引

  • 一维

参考Python 数组操作即可

# 倒序
[::-1]
# 步长
[::2]
  • 二维

序号索引和pd的iloc原理一致

  • 三维

有几维,就有几个冒号,原理参考二维即可

花式索引

  • 按 idex 自动进行维度,给的索引是什么样的,就构建什么样的数组

  • 组合序列

  • 花式

索引赋值

不仅可取值,仍然可以赋值

布尔索引

布尔索引在过滤数据的时候,用途很大,包括pandas中

合并

  • hstack/vstack

有几点需要注意,hstack是水平插入,在一维向二维插的时候,要保证行数一致(需要reshape)

  • column_stack/row_stack

在一维向二维插的时候,用该方法不用reshape

  • concatenate

可以合并后变成一维

拆分

  • spilt

注意这个只能整除拆分,任意拆分使用[:,:]

属性/方法

  • numpy.random.normal

正态分布

  • transpose

转置

  • np.linspace

10-20 分五等份

  • flat

遍历输出每个元素

  • np.linalg.inv()

求逆矩阵

-np.eye()

对角矩阵 参数表示几行

  • ravel

多维变一维

  • reshape

size 指定为-1,则会自动计算其他的 size 大小

>>> a.reshape(3,-1)
array([[ 2.,  8.,  0.,  6.],
       [ 4.,  5.,  1.,  1.],
       [ 8.,  9.,  3.,  6.]])
  • newaxis

提升维度

参考文档