cimport numpy as np报错_Numpy入门详细教程(多导图版)

e6515243f913a8275d512e55c1a3efb8.gif

导读:Python数据科学基础库主要是三剑客:Numpy,pandas以及Matplotlib,每个库都集成了大量的方法接口,配合使用功能强大。

本篇对Numpy常用的方法进行思维导图式梳理,多数方法仅拉单列表,部分接口辅以解释说明及代码案例。最后分享了个人关于axis和广播机制的理解。

作者:luanhz 来源:小数志(ID:Datazhi) 2b44b390a5a34a2ec36e685b4a454dde.png ▲本文知识要点一级菜单 01 基本介绍 24374ca2864e20a0f45376897609bdc4.png
  • Numpy:Numerical Python缩写,提供了底层基于C语言实现的数值计算库,与Python内置的list和array数据结构相比,其支持更加规范的数据类型和极其丰富的操作接口,速度也更快
  • Numpy的两个重要对象是ndarrayufunc,其中前者是数据结构的基础,后者是接口方法的基础
  • ufunc,通函数,其意义是可以像执行标量运算一样执行数组运算,本质即是通过隐式的循环对各个位置依次进行标量运算。只不过这里的隐式循环交由底层C语言实现,因此相比直接用Python循环实现,ufunc语法更为简洁、效率更为高效
  • 索引、迭代和切片操作方式与普通列表比较类似,但是支持更为强大的bool索引
这部分内容比较基础,仅补充一个个人认为比较有用的ufunc加聚合的例子。ufunc本身属于方法(方法即是类内的函数接口),ufunc之上还支持4个方法:
  • reduce,聚合方法
  • accumulate,累计聚合
  • reduceat,按指定轴向、指定切片聚合
  • outer,外积
当然,后两个用处较少也不易理解,前两个在有些场景下则比较有用: 514684263d2e91463e9fd6ea80365552.png 02 数组创建 c903f5070371f2f086f23ab6d9c976b2.png Numpy中支持 5类创建数组的方式:
  • 从普通数据结构创建,如列表、元组等
  • 从特定的array结构创建,支持大量方法,例如ones、zeros、empty等等
    • empty接收指定大小创建空数组,这里空数组的意义在于未进行数值初始赋值,随机产生,因而速度要更快一些
    • linspace和arange功能类似,前者创建指定个数的数值,后者按固定步长创建,其中linspace默认包含终点值(可以通过endpoint参数设置为false),而arange则不含终点
  • 从磁盘读取特定的文件格式
  • 从缓存或字符读入数组
  • 从特定的库函数创建,例如random随机数包
以上方法中,最为常用的是方法1、2、5。 03 数组增删 9bf72b2a4ffc8802f4d138bc872b6120.png Numpy提供了与列表类似的 增删操作,其中
  • append是在指定维度后面拼接数据,要求相应维度大小匹配
  • insert可以在指定维度任意位置插入数据,要求维度大小匹配
  • delete删除指定维度下的特定索引对应数据
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值