Python NumPy用法介绍
文章插图
原文:
文章插图
介绍NumPy是Python数值计算最重要的基础包 , 大多数提供科学计算的包都是用NumPy的数组作为构建基础 。 NumPy本身并没有提供多么高级的数据分析功能 , 理解NumPy数组以及面向数组的计算 , 将有助于你更加高效地使用诸如Pandas之类的工具 。 虽然NumPy提供了通用的数值数据处理的计算基础 , 但大多数读者可能还是想将Pandas作为统计和分析工作的基础 , 尤其是处理表格数据时 。
NumPy的部分功能如下:
- ndarray , 一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组 。
- 用于对整组数据进行快速运算的标准数学函数(无需编写循环) 。
- 用于读写磁盘数据的工具以及用于操作内存映射文件的工具 。
- 线性代数、随机数生成以及傅里叶变换功能 。
- 用于集成由C、C++、Fortran等语言编写的代码的A C API 。
- 比起Python的内置序列 , NumPy数组使用的内存更少 。
- NumPy可以在整个数组上执行复杂的计算 , 而不需要Python的for循环 。
import numpy as np
NumPy的ndarray:N维数组对象【Python NumPy用法介绍】NumPy最重要的是其N维数组对象(即ndarray) , 其中的所有元素必须是相同类型的 。 该对象是一个快速而灵活的大数据集容器 , 可以利用这种数组对整块数据执行数学运算 , 其语法跟标量元素之间的运算一样 。创建ndarray
- 使用np.array(list/tuple, dtype=np.float32)函数 , 产生一个新的含有传入数据的ndarray对象 。
返回值为形式 , 元素间由空格分割 。
In [20]: arr1 = np.array([6, 7.5, 8, 0, 1]) #从列表创建In [21]: pring(arr1)Out[21]: [ 6. , 7.5, 8. , 0. , 1. ] #NumPy根据数据情况 , 指定了float类型In [23]: arr2 = np.array([[1, 2, 3, 4], [5, 6, 7, 8],(1.2 , 2.3)])In [24]: pring(arr2)Out[24]: [[1, 2, 3, 4] [5, 6, 7, 8] (1.2 , 2.3)]
- 使用NumPy中的内置函数
np.linspace(begin,end,number):创建包含number个元素的数组 , 并在指定的开始值(包含)和结束值(包含)之间平均间隔;
np.ones(shape):根据shape生成一个全1数组 , shape是元组类型 , 比如(2,3);
np.zeros(shape):根据shape生成一个全0数组 , shape是元组类型 , 比如(2,3,4);
np.full(shape,val):根据shape生成一个数组 , 每个元素值都是val;
np.eye(n):创建一个正方的n*n单位矩阵 , 对角线为1 , 其余为0;
np.ones_like(a):根据数组a的形状生成一个全1数组;
np.zeros_like(a):根据数组a的形状生成一个全0数组;
np.full_like(a,val):根据数组a的形状生成一个每个元素值都是val的数组;
np.concatenate 将两个或多个数组合并成一个新的数组 。
In [30]: arr3 = np.zeros((3, 6))In [31]: print(arr3)Out[30]: [[ 0., 0., 0., 0., 0., 0.] [ 0., 0., 0., 0., 0., 0.] [ 0., 0., 0., 0., 0., 0.]]
- 从磁盘读取数据创建ndarray数组 , 将ndarray数组保存到磁盘(大部分情况会使用pandas或其它工具加载文本或表格数据)
np.load(fname)? fname : 文件名 , 以.npy为扩展名 , 压缩扩展名为.npz
np.save(fname, array) 或 np.savez(fname, array)
? fname : 文件名 , 以.npy为扩展名 , 压缩扩展名为.npz
? array : 数组变量
- .ndim:秩 , 即轴的数量或维度的数量
- .shape:ndarray对象的尺度 , 对于矩阵 , n行m列
- .size:ndarray对象元素的个数 , 相当于.shape中n*m的值
- .dtype:ndarray对象的元素类型
- .itemsize:ndarray对象中每个元素的大小 , 以字节为单位
- .astype(np.float64):将ndarray数组元素从一个类型转换成另一个类型 , 返回一个新数组 。 如果将浮点数转换成整数 , 则小数部分将会被截取删除 。 (类型变换)
- 告诉|阿里大佬告诉你如何一分钟利用Python在家告别会员看电影
- Python源码阅读-基础1
- Python调用时使用*和**
- 如何基于Python实现自动化控制鼠标和键盘操作
- 解决多版本的python冲突问题
- 学习python第二弹
- Python中文速查表-Pandas 基础
- 零基础小白Python入门必看:通俗易懂,搞定深浅拷贝
- Python 使用摄像头监测心率!这么强吗?
- WhatsApp更新壁纸和表情包用法