numpy 获取特定数值的索引_python:numpy入门详细教程

导读

python数据科学基础库主要是三剑客:numpy,pandas以及matplotlib,每个库都集成了大量的方法接口,配合使用功能强大。平时虽然一直在用,也看过很多教程,但纸上得来终觉浅,还是需要自己系统梳理总结才能印象深刻。本篇先从numpy开始,对numpy常用的方法进行思维导图式梳理,多数方法仅拉单列表,部分接口辅以解释说明及代码案例。最后分享了个人关于axis和广播机制的理解。

数据分析师攻略

与你分享有价值的数据分析知识、经验、资讯。

b5b9e6318209b6f2de6271627c0a8ddc.png

扫码关注

5c9e94808447a8a8bdb85e63b795653b.png

本文知识要点一级菜单


01 基本介绍

896ec91a424c0e6fcb7dc505057f4028.png

  • numpy:numerical python缩写,提供了底层基于C语言实现的数值计算库,与python内置的list和array数据结构相比,其支持更加规范的数据类型和极其丰富的操作接口,速度也更快

  • numpy的两个重要对象是ndarray和ufunc,其中前者是数据结构的基础,后者是接口方法的基础

  • ufunc,通函数,其意义是可以像执行标量运算一样执行数组运算,本质即是通过隐式的循环对各个位置依次进行标量运算。只不过这里的隐式循环交由底层C语言实现,因此相比直接用python循环实现,ufunc语法更为简洁、效率更为高效

  • 索引、迭代和切片操作方式与普通列表比较类似,但是支持更为强大的bool索引

这部分内容比较基础,仅补充一个个人认为比较有用的ufunc加聚合的例子。ufunc本身属于方法(方法即是类内的函数接口),ufunc之上还支持4个方法:

  • reduce,聚合方法

  • accumulate,累计聚合

  • reduceat,按指定轴向、指定切片聚合

  • outer:外积

当然,后两个用处较少也不易理解,前两个在有些场景下则比较有用: f35699f2e71f133bd9e034559b5e485a.png 02 数组创建

0bca00ebca126b4ae9fb50c9ce368564.png

numpy中支持5类创建数组的方式:

  • 从普通数据结构创建,如列表、元组等

  • 从特定的array结构创建,支持大量方法,例如ones、zeros、empty等等

    • empty接收指定大小创建空数组,这里空数组的意义在于未进行数值初始赋值,随机产生,因而速度要更快一些

    • linspace和arange功能类似,前者创建指定个数的数值,后者按固定步长创建,其中linspace默认包含终点值(可以通过endpoint参数设置为false),而arange则不含终点

  • 从磁盘读取特定的文件格式

  • 从缓存或字符读入数组

  • 从特定的库函数创建,例如random随机数包

以上方法中,最为常用的是方法1、2、5。

03 数组增删

51576f504cfff3a79b38c423f6ffe2c3.png

nu

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值