import NumPy 学习笔记

import NumPy  

#1.开源的数值计算扩展库,功能包括:创建n维数组(矩阵),对数组进行函数运算,数值积分等.

#2.他提供了两种基本的对象:

-ndarray:是储存单一数据类型的多维数组 #numpy的核心数据结构

-ufunc:是一种能够对数组进行处理的函数

NumPy常用的导入格式: import numpy as np

目录:

,创建数组对象

, nd.array对象属性

三,array支持的大量操作和函数

,创建数组对象

#1.通常来说,ndarray是一个通用的同构数据容器,即其中的所有元素都需要相同的类型。利用array函数可创建ndarray数组。

1.利用array函数创建数组对象

-array函数的格式:np.array(object, dtype,ndmin)

array函数的主要参数及说明:

参数名称

说明

object 

接收array,表示想要创建的数组

dtype 

接收data-type,表示数组所需的数据类型,未给定则选择保存对象所需的最小类型,默认为None

ndmin

接收int,制定生成数组应该具有的最小维数,默认为None

尝试使用numpy中的array函数,在IDLE (Python 3.7 32-bit)中举例:

以上是用numpy创建数组的演示

array对象

1.array就是数组,array对象可以是一维数组,也可以是多维数组

2.Python中的listarray功能相似,arraylist性能好,包含数组元数信息,大量的便捷函数

array本身的属性

1.shape:返回一个元组,表示array的维度   #一维就是一个数字,多维就是多个数字

  1. nidm:一个数字,表示array的维度数目   #一维就是1三维就是3
  2. size一个数字,表示array中所有数据元素的数目  
  3. dtypearray中元素的数据类型   #看元素的数据类型,只能有一种类型

创建array的方法

  1. Python的列表List和嵌套列表创建array
  2. 使用预定函数arangeones/ones_ ikezeros/zeros_ likeempty/empty_ likeflfull_/ likeeye等函数创建   #创建数组全为1,全为0全为空,指定数值
  3. 生成随机数的np.random模块构建

三,array本身支持的大量操作和函数

直接逐元素的加减乘除等算数操作

更好用的面向多维的数组索引

sum/mean等聚合函数

线性代数函数,比如求解逆矩阵、求解方程组   #NumPy是科学计算库

  1. 使用Pythonlist和嵌套list创建一维的array和二维的array

1.探索数组array的属性

#元组的形式(,)切记切记,总是忘记!

2.创建arange的便捷函数

 

-使用arange创建数字序列

arange([start,]stop[,step,],dtype = None)   #Pythonrange用法相同

-使用ones创建全是1的数组

np.onesshapedtype = Noneorder =C’)

shapeintor tuple of ints Shape of the new arraye.g23or  2

我的理解:int输入一个向量输出一个元组

          tuple of ints输入一个元组输出一个矩阵

-使用ones_like创建形状相同的数组   #也是创建全是1的数组

ones_likeadtype = floatorder =C’)

 我的理解:形状自己定,可以通过其他函数,例如array,总的来说就是让填充的数字全变为1

-使用zeros创建全是0的数组和使用zeros_like创建形状相同的数组

np.zeros_like(a, dtype = None)

#原理和onesones_like相同,只不过全是0

-使用empty创建全是0的数组

empty(shape, dtype = float, order = ‘C’)

注意:数据是未初始化的,里面的值很可能是随机值不要用

我的理解:empty生成的数字是随机生成,不可以用

-使用empty_like创建形状相同的数组

empty_like(prototype, dtype = None

-使用fullfull_like对创建的数组进行填充

np.fullshapefull_valuedtype = Noneorder =C’)  #full_value填充的数字,使得数组全为这个数

a

-使用random模块生成随机数的数组

np.random.randnd0, d1, ...,dn

#np.random.randn(3, 2, 4) , 三个模块,两行四列的矩阵

***array本身支持的大量操作和函数

这些操作如果使用Python实现需要很多for循环,numpy数组很容易

A = np.arange(10).reshape(2, 5)

  1. shape

A + 1  #array数组中的数字都+1

A*3   

np.sinA   #array中数组的sin()结果

np.expA  #ex次方x就是数组中的数值

***进行矩阵的计算

Eg.

A = np.random.randn(2, 5)

B = np.random.randn(2, 5)

A + B

A - B


版权声明:本文为weixin_68413862原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。