[Python] Numpy库
来源:互联网 发布:什么是数据透视表 编辑:程序博客网 时间:2024/06/10 06:16
NumPy是一个开源的Python科学计算基础库,包含:
- 一个强大的N维数组对象 ndarray
- 广播功能函数
- 整合C/C++/Fortran代码的工具
- 线性代数、傅里叶变换、随机数生成等功能
NumPy是SciPy、Pandas等数据处理或科学计算库的基础
- 包的下载与导入
- ndarray
- 创建
- 属性
- 元素类型
- 数组的变换
- 维度变换
- 类型变换
- 列表变换
包的下载与导入
Numpy 包,如果已安装annaconda可直接使用,如果没有,也可以自行搜索下载
导入常用别名 np
import numpy as np
ndarray
ndarray 是一个 多维数组对象 ,它由两部分组成:
- 实际的数据
- 描述这些数据的元数据(数据维度,数据类型等)
ndarray 数组内元素类型一般要求相同(也可不同,不过这样就和list区别不大了),数组下标从0开始。
它能够从整体来描述一个数据集,能够以整体的形式进行两个数组的运算比较等操作。
创建
- 直接使用
np.array()
参数为一个列表
>>> a = np.array([[0,1,2,3,4], [5,6,7,8,9]])
属性
以 [[0,1,2,3,4]],[5,6,7,8,9]]
为例
- 使用
.ndim
获取维度信息
>>> a.ndim>>> 2
- 使用
.shape
获取数组的形状
>>> a.shape>>> (2,5)
- 使用
.size
获取数组的大小(元素个数)
>>> a.size>>> 10
- 使用
.dtype
获取数组内元素的存储类型,(默认值与操作系统有关)
>>> a.dtype>>> dtype('int64')
- 使用
.itemsize
获取数组内单个元素的大小(字节)
>>> a.itemsize>>> 8
元素类型
ndarray 没有 double 类型
支持复数类型 complex64 , complex128
常见的类型:int , uint, float , bool
- 后缀16,32,65代表字节长度
数组的变换
维度变换
- 使用
.reshape(shape)
不改变数组元素,返回一个shape形状的数组,原数组不变,shape为数组形状。
注意要保证改变形状后的数组元素与之前一致
>>> a = np.array([[1,2,3,4,5],[6,7,8,9,10]])>>> b = a.reshape([5,2])>>> [[ 1 2 3 4 5] [ 6 7 8 9 10]]>>> [[ 1 2] [ 3 4] [ 5 6] [ 7 8] [ 9 10]]
原先2*5的数组a 变为5*2的数组b
使用
.resize(shape)
与.reshape()
功能一致使用
.swapaxes(ax1,ax2)
调换两个维度
>>> a = np.array([[1,2,3,4,5],[6,7,8,9,10]])>>> b = a.swapaxes(0,1)>>> b>>> [[ 1 6] [ 2 7] [ 3 8] [ 4 9] [ 5 10]]
注意与reshape返回的数组的区别
- 使用
.flatten()
变为一维数组
类型变换
使用方法 .astype(new_type)
返回一个新的数组
>>> b = a.astype(float32)
列表变换
使用方法 .tolist()
返回一个列表
>>> ls = a.tolist()
a是一个ndarray数组,ls是由这个数组生成的列表
0 0
- python -numpy 库
- python库之numpy
- python安装numpy库
- python numpy库
- [Python] Numpy库
- Python 中的numpy 库
- Python之NumPy库
- python numpy库
- python Numpy库
- python numpy模块/库
- python的numpy库
- python numpy库详解
- python库-numpy
- Python之Numpy库
- python中的numpy库的numpy.asarray
- python 机器学习库:Numpy
- python numpy 库学习笔记
- python库numpy的使用
- iOS弹出视图-swift
- LeakCanary直面项目中的内存泄露
- js实现按钮控制图片向左、向右、向上、向下无缝轮播
- ConcurrentLinkedQueue的实现原理分析
- select组件 笔记(vue加薪)
- [Python] Numpy库
- c++作业4
- 使用赫夫曼编码压缩数据
- 彻底弄懂JS的事件冒泡和事件捕获
- 使用github托管android项目
- 一些mysql的数据库基础语句
- matplotlib图标中文显示
- 关于u-boot的理解
- A1032.Sharing