Numpy 基本介绍

简介: Numpy 是 Python 中用于科学计算最基本的一个包,它除了提供了多维度数组对象以外,还提供了大象的派生类:矩阵等在 Numpy 中提供了许多针对数组对象快速操作的历程,例如:数学基本运算、逻辑处理、尺寸转换、排序、旋转、旋转、线性代数等运算

Numpy 基本介绍


Numpy 是 Python 中用于科学计算最基本的一个包,它除了提供了多维度数组对象以外,还提供了大象的派生类:矩阵等在 Numpy 中提供了许多针对数组对象快速操作的历程,例如:数学基本运算、逻辑处理、尺寸转换、排序、旋转、旋转、线性代数等运算Numpy 的核心就是 ndarray 对象,封装了具有相同数据类型的 n 维数组,编译许多操作来提高性能。相对于 Python 标准序列数据类型(listtuple 等);  Numpy 数组本身具有的一些特性:

  • Numpy 数组创建后大小不可变化;但 Python 中的list可以 通过appendremove函数实现动态改变;
  • 数组中的元素数据类型必须一致,而 list中的元素可以为整数、也可以是字符串,或者字典;
  • 对于数据运算,操作来说 Numpy array 运算更快,数据量越大这个优越性越显著;
  • 得益于对于大量数据较快的运算能力,数学家和科学家通常会把数据转化为数组,操作完之后再转化为自己的目标数据类型。


Numpy 数组的基本操作


通常使用 numpy 时,为了方面通常会用 np 名称来代替

2.1,np.array — 把数据转化为数组

Numpy 的核心就是数组类型,在所有操作之前首先要做的就是数组类型转换,类型转化前提保证数类型为序列类型( 例如 list)

>>> a = [1,2,3,4,5,6]
>>> import numpy as np
>>> arr1 = np.array(a)
>>> arr1
array([1, 2, 3, 4, 5, 6])

2.2,array.reshape(a,b,c) — 改变数组尺寸

reshape函数 是用来把数组转化为特定尺寸,如果需要的的数组是二维的,a,b两个参数即可

>>> arr1 = [1,2,3,4,5,6,7,8]
>>> arr1 = np.array(arr1)
>>> arr1
array([1, 2, 3, 4, 5, 6, 7, 8])
>>> arr1.reshape(2,4)#二维
array([[1, 2, 3, 4],
       [5, 6, 7, 8]])
>>> arr1.reshape(1,2,4)#三维
array([[[1, 2, 3, 4],
        [5, 6, 7, 8]]])

2.3,array.ndim — 返回数组维度

>>> arr1
array([1, 2, 3, 4, 5, 6, 7, 8])
>>> arr1.ndim
1
>>> arr1.reshape(2,4).ndim
2
>>> arr1.reshape(1,2,4).ndim

2.4,array.shape — 返回数组的尺寸

shape 函数返回的是数组的尺寸,也就是每个维度所拥有的元素个数;

>>> arr1
array([1, 2, 3, 4, 5, 6, 7, 8])
>>> arr1.shape
(8,)
>>> arr1.reshape(2,4).shape
(2, 4)
>>> arr1.reshape(1,2,4).shape
(1, 2, 4)


2.5,array.size — 返回数组中元素的数量

>>> arr1
array([1, 2, 3, 4, 5, 6, 7, 8])
>>> arr1.size
8
>>> arr1.reshape(2,4).size
8

2.6,np.arange(a,b,c) — 生成以 a 与 b之间以c为间隔的数组元素:

在 Python 语法中有一个 range() 函数,arange 函数与它功能一样,区别就是一个返回列表,一个返回数组;当没有参数 c 时,生成的数据间隔默认为 1;

>>> arr1 = np.arange(1,9)
>>> arr1
array([1, 2, 3, 4, 5, 6, 7, 8])
>>> aarr1 = np.arange(1,9,2)
>>> aarr1
array([1, 3, 5, 7])

2.7,np.linspace(a,b,num) — 生成 a 与 b 之间数量为 num 的数组

linspacearange 两个函数功能都是把两个数之间数作为数组的元素,但两者之间较大的区别是:arange 无法控制生成数组的元素个数,尤其是元素类型为浮点型时,而linspace可以通过设置 num 很方便地地控制。

>>> arr1 = np.arange(2,8,0.6)
>>> arr1
array([2. , 2.6, 3.2, 3.8, 4.4, 5. , 5.6, 6.2, 6.8, 7.4])
>>> arr1.size
10
>>> arr2 = np.linspace(2,8,8)#利用linspace生成2到8的8个数据,自行分配
>>> arr2
array([2.        , 2.85714286, 3.71428571, 4.57142857, 5.42857143,
       6.28571429, 7.14285714, 8.        ])

2.8,np.dtype — 返回数组的元素类型

>>> arr1 =np.arange(1,8,1)
>>> arr1
array([1, 2, 3, 4, 5, 6, 7])
>>> arr1.dtype
dtype('int32')

2.9,np.astype(type) — 对数组中元素类型强制转换

可以利用 astype 函数把数组中的元素类型进行强制转换;

>>> arr1
array([1, 2, 3, 4, 5, 6, 7])
>>> arr1.dtype
dtype('int32')
>>> arr2 =arr1.astype('float64')#格式转换
>>> arr2.dtype
dtype('float64')
相关文章
|
1月前
|
存储 机器学习/深度学习 数据挖掘
NumPy有哪些优缺点
【10月更文挑战第22天】NumPy有哪些优缺点
41 3
|
4月前
|
索引 Python
NumPy 快速入门:数组操作基础
【8月更文第30天】NumPy 是 Python 中一个非常重要的科学计算库,它提供了高性能的多维数组对象以及用于操作这些数组的工具。NumPy 数组(也称为 `ndarray`)是 NumPy 库的核心,它比 Python 内置的列表类型更高效,特别是在处理大型数据集时。本文将介绍 NumPy 数组的基本概念、创建方法以及一些常用的数组操作。
53 2
|
7月前
|
Python
|
7月前
|
架构师 Java Python
NumPy 系列教程 001:入门和使用数组
NumPy 系列教程 001:入门和使用数组
45 0
|
7月前
|
C++ 索引 Python
Python Numpy入门基础(二)数组操作
Python Numpy入门基础(二)数组操作
55 0
|
7月前
|
存储 API C++
NumPy 基础知识 :6~10
NumPy 基础知识 :6~10
86 0
|
7月前
|
缓存 算法 索引
NumPy 基础知识 :1~5
NumPy 基础知识 :1~5
121 0
|
存储 Python
【numpy简介、入门、数组创建】
【numpy简介、入门、数组创建】
|
存储 算法 数据挖掘
Numpy基础知识回顾
Numpy基础知识回顾
304 0
|
编译器 TensorFlow 算法框架/工具
Numpy的21个常用知识点(1)
Numpy的21个常用知识点(1)
Numpy的21个常用知识点(1)