numpy学习总结

array对象的背景:

  • Numpy的核心数据结构,就叫做array就是数组,array对象可以是一维数组,也可以是多维数组;
  • Python的List也可以实现相同的功能,但是array比List的优点在于性能好、包含数组元数据信息、大量的便捷函数;
  • Numpy成为事实上的Scipy、Pandas、Scikit-Learn、Tensorflow、PaddlePaddle等框架的“通用底层语言”
  • Numpy的array和Python的List的一个区别,是它元素必须都是同一种数据类型,比如都是数字int类型,这也是Numpy高性能的一个原因;

array本身的属性

  • shape:返回一个元组,表示array的维度
  • ndim:一个数字,表示array的维度的数目
  • size:一个数字,表示array中所有数据元素的数目
  • dtype:array中元素的数据类型
  • argsort:返回排序后的索引数组

创建array的方法

  • 从Python的列表List和嵌套列表创建array
  • 使用预定函数arange、ones/ones_like、zeros/zeros_like、empty/empty_like、full/full_like、eye等函数创建
    • arange([start],stop[,step,]dtype=None)
    • ones(shape,dtype=None,order='C') 生成一个全都是1的数组
    • ones_like(shape,dtype='float',order='C') 生成一个形状相同与shape的数组,元素都是1
    • full(shape,fill_value,dtype=None)
  • 生成随机数的np.random模块构建
    • np,random.rand(4,2) 生成一个shape为(4,2)的均匀分布数组,元素是0-1之前的随机数
    • np.random.randn() 生成指定维度的数组,与rand不同的是,该数组元素符合正态分布
    • np.random.randint(low='',high=None,size=None,dtype=int)
    • np.random.random(size=(,)) 返回[0.0,1.0]之间的随机数
    • np.random.shuffle(arr)
    • np.random.choice()

array本身支持的大量操作和函数

  • 直接逐元素的加减乘除等算数操作
  • 更好用的面向多维的数组索引
  • 求sum/mean等聚合函数
  • 线性代数函数,比如求解逆矩阵、求解方程组

array三种索引方式

  • 基础索引
    arr[2,3],arr[:2,2:4]
  • 神奇索引
    arr[[0,2],[3,4]],arr[:,[0,3,4]]
  • 布尔索引,根据条件判定true还false,再根据true还是false选择元素

数学统计函数

数组升维操作

  • np.newaxis 相当于None
  • np.expend_dim(arr,axis) 和newaxis实现相同的功能,在arr的axis轴添加维度
  • np.reshape(arr,shape)

数组合并操作

  • np.concatenate(array_list, axis=0/1):沿着指定axis进行数组的合并
  • np.vstack或者np.row_stack(array_list):垂直vertically、按行row wise进行数据合并
  • np.hstack或者np.column_stack(array_list):水平horizontally、按列column wise进行数据合并
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 简单整理了NumPy的一些特性,参考的是 《利用Python进行数据分析》( Wes McKinney 著),Nu...
    蜘蛛鱼阅读 680评论 0 0
  • Numpy 中数据结构的核心是 n 维数组 n-dimensional array,简称 ndarray,需要注意...
    拓季阅读 675评论 0 3
  • 原文链接:blog.ouyangsihai.cn >> numpy学习2:数组创建方式 一、前言 Numerica...
    程序员欧阳阅读 3,286评论 0 1
  • numpy 统计函数 从数组中查找最小元素, 最大元素, 百分位标准差, 和方差灯 numpy.amin()和nu...
    pigdaqiang阅读 1,178评论 0 7
  • 先决条件 在阅读这个教程之前,你多少需要知道点python。如果你想从新回忆下,请看看Python Tutoria...
    舒map阅读 2,620评论 1 13