Numpy常用属性及方法

简介: Numpy一、属性:ndarray.shape 返回一个元组,里面是各个维度的sizendarray.ndim 返回数组的维度ndarray.dtype 返回数组数据的类型二、方法:np.array(x, dtype=complex) 接收一个数组, dtype指定数据类型,np.zeros( (3,4) ) 接收一个代表数组维度size的元组np.ones((3,4)) 同上np.arange(10, 30, 5) 返回一个起始为10,每次增加5,一直到30但不包括30的数组(本例返回[10, 15, 20, 25]),一般会跟reshape配合使用。

Numpy

一、属性:

  1. ndarray.shape 返回一个元组,里面是各个维度的size
  2. ndarray.ndim 返回数组的维度
  3. ndarray.dtype 返回数组数据的类型

二、方法:

  1. np.array(x, dtype=complex) 接收一个数组, dtype指定数据类型,
  2. np.zeros( (3,4) ) 接收一个代表数组维度size的元组
  3. np.ones((3,4)) 同上
  4. np.arange(10, 30, 5) 返回一个起始为10,每次增加5,一直到30但不包括30的数组(本例返回[10, 15, 20, 25]),一般会跟reshape配合使用。
  5. np.linspace( 0, 2, 9 ) 将0-2分为九份
  6. numpy.random.rand(d0, d1, ..., dn) Create an array of the given shape and populate it with random samples from a uniform distribution(均匀分布) over [0, 1).
  7. numpy.random.randn(d0, d1, ..., dn) 功能与上面的类似,只不过randn是从标准正态分布中取值,如果不传入参数,则返回一个随机的数(取自标准正态分布)。要从

$$ N(\mu, \sigma^2) $$

中取值可以用这个公式sigma * np.random.randn(...) + mu

  1. a.ravel() # returns the array, flattened
  2. a.T # returns the array, transposed
  3. a.reshape(3,-1) If a dimension is given as -1 in a reshaping operation, the other dimensions are automatically calculated
  4. np.vstack((a,b))、np.hstack((a,b))
  5. numpy.concatenate((a1, a2, ...), axis=0, out=None) Join a sequence of arrays along an existing axis. 按照指定的axis进行连接

13.np.hsplit(a,(3,4)) # Split a after the third and the fourth column;类似的还有np.vsplit,这个是按行拆分,上面是按列拆分;

14.

运算:

  1. a+b a-b a*b 都是elementwise 运算;
  2. a.dot(b) 矩阵相乘运算;
  3. np.sin(a) 对矩阵a中的元素进行三角函数运算(类似的np.exp(a)、 np.sqrt(a));
  4. a**2 幂运算
  5. a<2 不等式运算。返回布尔值组成的数组,shape与a相同;
  6. a.sum() a.min() a.max(),三者都可接收一个axis作为参数,返回特定axis的sum、min、max

Indexing, Slicing and Iterating

  1. a[:6:2] = -1000 # equivalent to a[0:6:2] = -1000; from start to position 6, exclusive, set every 2nd element to -1000(从开始到位置6,但不包括a[6],然后往前每隔一个设为-1000)
  2. a[ : :-1] # reversed a,将a进行反转。a是一维数组。
  3. 对于多维数组
    for row in b: row是每一行。
    for element in b.flat: element是每个元素。

Copies and Views

有三种情况:

  1. No Copy at All,比如b=a,b只是a的引用,不会有新的object被创建,b is a 会返回True
  2. View or Shallow Copy,比如c = a.view(),c is a返回False,但是c.base is a会返回True,c的值改变,会引起a的值改变,但是c的shape改变,不会引起a的shape改变;
  3. Deep Copy,比如 d = a.copy(),d is a 与d.base is a 都会返回False,d是一个全新的对象,与a没有任何关系,d的改变不会引起a的改变。
目录
相关文章
|
6月前
|
数据采集 机器学习/深度学习 存储
【机器学习】数据清洗——基于Numpy库的方法删除重复点
【机器学习】数据清洗——基于Numpy库的方法删除重复点
216 1
|
11月前
|
Python
NumPy生成数组的方法
NumPy生成数组的方法
98 0
|
数据挖掘 索引 Python
【Python】数据分析:numpy的常用方法
【Python】数据分析:numpy的常用方法
74 0
|
4月前
|
Python
NumPy 教程 之 NumPy 数组属性 7
NumPy教程:数组属性聚焦秩(rank)和轴(axis),表示维度数量。`ndarray.flags`揭示内存细节,如C/F_CONTIGUOUS标志指示数据连续性,OWNDATA检查内存所有权,WRITEABLE允许写入,ALIGNED确保硬件对齐,UPDATEIFCOPY涉及副本更新。
41 4
|
4月前
|
存储 索引 Python
NumPy 教程 之 NumPy 数组属性 1
NumPy教程介绍数组属性:秩表示维度,如一维数组秩为1,二维为2。轴(axis)定义了数组的线性方向,axis=0操縱列,axis=1操纵行。关键属性包括:ndim-秩,shape-维度大小,size-元素总数,dtype-数据类型,itemsize-元素字节大小,flags-内存信息,real/imag-复数部分,data-元素缓冲区。
32 5
|
4月前
|
Python
NumPy 教程 之 NumPy 数组属性 8
NumPy教程讲解数组属性,数组的秩表示维度数,如一维数组秩为1,二维为2。每个线性数组是轴,二维数组由两轴组成。`x=np.array([1,2,3,4,5])`,打印`x.flags`显示数组连续性、数据所有权、可写性等信息。
43 2
|
5月前
|
数据采集 算法 BI
解析numpy中的iscomplex方法及实际应用
在 NumPy 中,iscomplex 函数用于检查数组中的每个元素是否为复数。这个函数在处理包含复数数据的数组时非常有用,尤其是在科学计算和工程领域,这些领域经常需要区分实数和复数。 在数学和工程领域,复数是一种基本的数值类型,它们扩展了实数系统,包含了实部和虚部。在 NumPy 中,复数由 numpy.complex128 或 numpy.complex64 类型表示。numpy.iscomplex 函数提供了一种简便的方式来检查数组中的元素是否为复数。这对于数据类型判断、数据清洗和后续的数值分析非常重要。
|
4月前
|
Python
NumPy 教程 之 NumPy 数组属性 4
NumPy数组的秩表示维度数,如一维数组秩为1,二维为2。每个线性数组是轴,二维数组含两个轴。`ndarray.shape`展示数组尺寸,返回一个元组,表示行数和列数(即秩)。此属性还能改变数组大小。
36 0
|
6月前
|
存储 索引 Python
NumPy 数组创建方法与索引访问详解
NumPy 的 `ndarray` 是其核心数据结构,可通过 `array()`、`zeros()`、`ones()` 和 `empty()` 函数创建。`array()` 可以将列表等转换为数组;`zeros()` 和 `ones()` 生成全零或全一数组;`empty()` 创建未定义值的数组。此外,还有 `arange()`、`linspace()`、`eye()` 和 `diag()` 等特殊函数。练习包括使用这些函数创建特定数组。
162 1
|
6月前
|
数据可视化 数据挖掘 C++
数据分析综合案例讲解,一文搞懂Numpy,pandas,matplotlib,seaborn技巧方法
数据分析综合案例讲解,一文搞懂Numpy,pandas,matplotlib,seaborn技巧方法
148 2