九、Numpy高级应用

1.ndarray对象的内部机理:由一个纸箱数组的指针,数据类型dtype,一个表示数组形状的元祖,有个跨度元祖(strides)组成
2.np.issubdtyoe(ints.dtype,np.integer)判断数据类型。
np.float64.mro()查看所有父类

3.高级数组操作:花式索引、切片、布尔条件取子集,
数组重塑 reshape/ravel/flatten
多维->一维:扁平化flatten( )返回副本,散开ravel()

连接 concatenate(axis=0)/ hstack(arr1,arr2)/vstack
concatenate:沿一条轴连接多个数组
vstack垂直连接(跨行)/row_stack/np.r_;
hstack水平连接(跨列)/column_stack/np.c_;
dstack(面向深度的方式对数组进行堆叠)
split:沿指定轴在指定的位置拆分数组

元素的重复(tile/repeat)
repeat:针对每个元素,重复次数可以用数组
tile:铺瓷砖,面向数组整体

花式索引(take/put):获取和设置数组子集

4.广播
定义:不同形状的数组之间的算数运算的执行方式

5.ufunc高级应用
reduce(arr)/accumulate(arr) (产生和数组大小相同的中间累计值数组) 和sum,cumsum关系一样
reduce:通过连续执行原始运算的方式对值进行聚合
outer(x,y) 计算两个数组的叉积,对每个元素应用原始运算
reduceat(arr,bins): 局部约简,对数据各切片进行聚合的groupby运算

6.结构化数组(定义dtype类型)
好处:能够提供非常快速高效的磁盘数据读写网络传输等功能

7.排序
ndarray arr.sort排序:就地排序,改变原数组
np.sort(axis=1): 创建副本
arr[:,::-1]反序
aggsort: 将x中的元素从小到大排列,提取其对应的index(索引),然后输出到y。
lexsort可以一次性对多个键数组执行间接排序
np.searchsorted():在有序数组上执行二分查找的数组方法 bins.searchsorted(data),返回数据所在区间
等价于 np.digitize(data,bins)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值