numpy和matplotlib的学习笔记

Numpy

定义:NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。它主要用于数组计算,包括:

  • 一个强大的N维数组对象 ndarray
  • 广播功能函数
  • 整合 C/C++/Fortran 代码的工具
  • 线性代数、傅里叶变换、随机数生成等功能

1、ndarray : ndarray是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。创建一个 ndarray 只需调用 NumPy 的 array 函数即可。

2、参数说明:

名称 描述
object 数组或嵌套的数列
dtype 数组元素的数据类型,可选
copy 对象是否需要复制,可选
order 创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)
subok 默认返回一个与基类型一致的数组
ndmin 指定生成数组的最小维度

实例:

3、数据类型

名称 描述
bool_ 布尔型数据类型(True 或者 False)
int_ 默认的整数类型(类似于 C 语言中的 long,int32 或 int64)
intc 与 C 的 int 类型一样,一般是 int32 或 int 64
int32 整数(-2147483648 to 2147483647)
uint8 无符号整数(0 to 255)
float_ float64 类型的简写
complex_ complex128 类型的简写,即 128 位复数

numpy.dtype(object, align, copy) :  object - 要转换为的数据类型对象; align - 如果为 true,填充字段使其类似 C 的结构体; copy - 复制 dtype 对象 ,如果为 false,则是对内置数据类型对象的引用。

实例:

4、数组属性

(1)numpy 数组的维数称为秩(rank),秩就是轴的数量,即数组的维度,一维数组的秩为 1,二维数组的秩为 2,以此类推。每一个线性的数组称为是一个轴(axis),也就是维度(dimensions)。比如说,二维数组相当于是两个一维数组,其中第一个一维数组中每个元素又是一个一维数组。

属性 说明
ndarray.ndim 秩,即轴的数量或维度的数量
ndarray.shape 数组的维度,对于矩阵,n 行 m 列
ndarray.size 数组元素的总个数,相当于 .shape 中 n*m 的值
ndarray.dtype ndarray 对象的元素类型
ndarray.real(imag) ndarray元素的实(虚)部
ndarray.itemsize ndarray 对象中每个元素的大小,以字节为单位

实例:

5、创建数组

  • numpy.empty 方法用来创建一个指定形状(shape)、数据类型(dtype)且未初始化的数组       numpy.empty(shape, dtype = float, order = 'C')
  • numpy.zeros  创建指定大小的数组,数组元素以 0 来填充      numpy.zeros(shape, dtype = float, order = 'C')

  • numpy.ones  创建指定形状的数组,数组元素以 1 来填充       numpy.ones(shape, dtype = None, order = 'C')

  • numpy.asarray 类似 numpy.array,但 numpy.asarray 参数只有三个,比 numpy.array 少两个

  • numpy.arange  函数创建数值范围并返回 ndarray 对象  numpy.arange(start, stop, step, dtype)    (start:起始值,默认为0 ;stop:终止值(不包含) step:步长,默认为1; dtype:返回ndarray的数据类型,如果没有提供,则会使用输入数据的类型。)

 7、切片和索引: slice 函数

 

8、广播:对不同形状(shape)的数组进行数值计算的方式, 对数组的算术运算通常在相应的元素上进行。

9、Matplotlib

 

 实例:

import numpy as np
from matplotlib import pyplot as plt
x = np.arange(1,11)
y = 2 * x - 1
plt.title("demo")
plt.xlabel("x axis caption") 
plt.ylabel("y axis caption") 
plt.plot(x,y)
plt.show()

  效果:

 

posted @ 2020-05-05 21:42  邓若言  阅读(274)  评论(0编辑  收藏  举报