NumPy 是高性能科学计算和数据分析的基础包. 它是 pandas 等其他各种工具的基础.

主要功能:

  • ndarray 一个多维数组结构, 高效且节省空间
  • 无需循环对整组数据进行快速运算的数学函数
  • 线性代数, 随机数生成和傅里叶变换功能

ndarry 多维数组

  • 创建ndarry: np.array(array_like)
  • 数组与列表的区别:
    • 数组对象类元素类型必须相同
    • 数组大小不可修改

ndarry 常用属性

  • T: 数组的转置
  • size: 数组元素个数
  • ndim: 数组的维数
  • shape: 数组的维度大小(元组形式)
  • dtype: 数组元素的数据类型

ndarry 创建方法

  • array() 将列表转为数组, 可选择显式指定 dtype
  • arange() range 的 numpy 版支持浮点数
  • linspace() 类似 arange(), 第三个参数为数组长度
  • zero() 根据指定形状和 dtype 创建全0数组
  • ones() 根据指定形状和 dtype 创建全1数组
  • empty() 根据指定形状和 dtype 创建空数组(内存随机值)
  • eye() 根据指定边长和 dtype 创建单位矩阵

ndarray 索引

  • 一维数组索引 a[5]
  • 多维数组索引 a[2][3]
  • 新式写法 a[2, 3] (推荐)

  • 对于一个数组, 选出其第1, 3, 4, 6, 7个元素, 组成新的二维数组: a[[1,3,4,6,7]]
  • 布尔型索引, 选出所有大于5的偶数: a[(a>5) & (a%2=0)]
  • 布尔型索引, 选出所有大于5的数和偶数: a[(a>5) | (a%2=0)]
  • 对于一个二维数组, 选出其第一列和第三列, 组成新的二维数组: a[:, [1, 3]]

ndarry 切片

  • 一维数组的切片: 与列表类似
  • 多维数组的切片: a[1:2, 3:4] a[:, 3:5] a[:, 1] (前行后列)
  • 与列表切片的不同: 数组切片时并不会自动复制(而是创建一个视图), 在切片数组上的修改会影响原数组
  • copy() 方法可以创建数组的深拷贝

NumPy 通用函数

浮点数特殊值

  • nan(Not 啊Number) 不等于任何浮点数(nan != nan)
  • inf(infinty) 比任何浮点数都大
  • NumPy中创建特殊值 np.nan np.inf
  • 在数据分析中, nan常被用做数据缺失值

一元函数

abs sqrt exp log ceil(向上取整) floor(向下取整) rint trunc modf isnan isinf cos sin tan

二元函数

add substract multiply divide power mod maximum mininum

数学和统计方法

  • sum 求和
  • mean 求平均数
  • std 求标准差
  • var 求方差
  • min 求最小值
  • max 求方差
  • argmin 求最小值索引
  • argmax 求最大值索引

随机数生成

  • rand 给定形状产生随机数组(0到1之间的数)
  • randin 给定形状产生随机整数
  • choice 给定形状产随机选择
  • shuffle 与random.shuffle相同
  • uniform 给定形状产生随机数组

转载于:https://www.cnblogs.com/haoxi/p/9175781.html

NumPy 基础用法相关推荐

  1. NumPy基础用法总结

    公众号关注 "视学算法" 设为"星标",第一时间知晓最新干货~ 转自https://zhuanlan.zhihu.com/p/26478010 numpy可以说 ...

  2. python Numpy 的基础用法以及 matplotlib 基础图形绘制

    python Numpy 的基础用法以及 matplotlib 基础图形绘制 1. 环境搭建 1.1 Anaconda ​ anaconda 集成了数据分析,科学计算相关的所有常用安装包,比如Numo ...

  3. pandas object转float_数据分析篇 | Pandas基础用法6【完结篇】

    这是最后一篇,至此Pandas系列终于连载完了,有需要的也可以看看前面6篇,尽请收藏. 数据分析篇 | Pandas 概览 数据分析篇 | Pandas基础用法1数据分析篇 | Pandas基础用法2 ...

  4. dubbo官方文档中文_Pandas中文官方文档:基础用法5

    本文授权转载自Python大咖谈禁止二次转载 大家好,我是老表 阅读文本大概需要 16 分钟 建议从头开始学习,本系列前四篇 Pandas中文官方文档:基础用法1 Pandas中文官方文档:基础用法2 ...

  5. pandas库Series使用和ix、loc、iloc基础用法

    1. pandas库Series基础用法: 直接贴出用例: 1. 构造/初始化Series的3种方法: (1)用列表list构建Series import pandas as pd my_list=[ ...

  6. Pandas中文官档 ~ 基础用法1

    呆鸟云:"在学习 Python 数据分析的过程中,呆鸟发现直接看官档就是牛逼啊,内容全面.丰富.详细,而 Python 数据分析里最核心的莫过于 pandas,于是就想翻译 pandas 官 ...

  7. pandas object转float_Pandas中文官档~基础用法6

    呆鸟云:"这一系列长篇终于连载完了,还请大家关注 Python 大咖谈,这里专注 Python 数据分析,后期呆鸟还会给大家分享更多 Pandas 好文." 数据类型 大多数情况下 ...

  8. 《利用python进行数据分析》读书笔记--第四章 numpy基础:数组和矢量计算

    第四章 Numpy基础:数组和矢量计算 第一部分:numpy的ndarray:一种多维数组对象 实话说,用numpy的主要目的在于应用矢量化运算.Numpy并没有多么高级的数据分析功能,理解Numpy ...

  9. numpy基础(1)

    numpy基础(1) 以下教程涉及到的文字均来自于莫烦Python.有一个坑需要避免下:二维数组需要多加一个括号,要不会报错. numpy属性 ndim:维度 shape:行数和列数 size:元素个 ...

最新文章

  1. 【第三组】用例+功能说明+技术说明
  2. The way to Go(6): Go程序的基本结构和要素
  3. awk 统计数据在文件中的出现次数
  4. 机器人 陆梅东_上海乐高创客工作坊活动顺利举行
  5. 【Envi风暴】Envi 5.3 SP1经典安装手把手图文教程(含补丁文件)
  6. 运放电路分析_必看!运放电路PCB设计技巧
  7. Laravel源码解析之Request
  8. python中索引和下标_Series下标索引、标签索引、切片索引、布尔索引
  9. CodeBlocks(17.12) 代码调试基础方法快捷方式
  10. mysql时间加减运算
  11. 对诺基亚N8有兴趣的可以进来看看
  12. 点云数据处理(分类、分割、检测)PointNet
  13. iperf 服务端发送数据_iperf 流量测试
  14. 谷歌浏览器如何安装crx插件
  15. 无法启动此程序因为计算机中丢失adapt,【完美解决】Wi7中NVIDIA GT540M安装程序无法找到和你现有硬件兼容的任何驱动程序,安装程序将会退出.doc...
  16. Unity3D--学习太空射击游戏制作(四)
  17. python 微博_用python发微博
  18. mysql-order by分页复杂排序条件替换union-limit(使用if和case when实现复杂排序)
  19. 后勤事务繁杂低效?三步骤解决企业行政管理难题
  20. U3d引擎与资源管理

热门文章

  1. 第77课 交作业啦(递归算法)
  2. 计算机网络课程设计之基于 IP 多播的网络会议程序
  3. 刀剑神域动漫网页设计作品 学生表格布局网页作业成品 table漫画网站制作 dreamweaver静态HTML学生网页制作模板
  4. [8] ADB 查看日志
  5. Vue笔记-vue3中.en.dev文件及axios.defaults.baseURL的使用
  6. Qt文档阅读笔记|Qt实践| HTTPS知识点-获取某站点SSL证书
  7. Java学习笔记-对IoC(Inversion of Control)的基本认识
  8. Qt文档阅读笔记-QWebPage官方解析与实例
  9. Linux学习笔记-增量编译(Makefile进一步使用)
  10. java list 合并去重复_java 实现多个list 合并成一个去掉重复的案例