Python笔记-Numpy库的使用介绍(未完结)
文章目录
前言
Numpy是一个扩展的程序库,支持维度数组和矩阵运算,还针对数组运算提供大量的数学函数库。通常来说比较经常见到的是一维和二维数组,多维数组比较少见。
一、数组
[1]. 创建
(1) N维数组
创建一维数组的方法:数组 = numpy.array(列表1,列表2,....,列表n)
创建二维数组的方法:数组 = numpy.array([列表1,列表2,....,列表n])
注:列表和元组都能被转换为数组(numpy.ndarray类型),在创建n维数组时,需要添加n个中括号[ ]
import numpy
lst1 = [1,2,3]
lst2 = [4,5,6]
lst3 = [7,8,9]
array = numpy.array([lst1,lst2,lst3])
print(array)
(2) 指定数组类型
数组 = numpy.array(列表,dtype = 类型)
import numpy
lst = [1,2,3]
array = numpy.array(lst,dtype = str) #设置该数组元素为字符串类型
print(array)
(3) 指定数组大小、数值类型,并以0填充
数组 = numpy.zeros(shape,dtype= 类型)
注:用这种方法创建的数组元素默认为0
参数 | 介绍 |
---|---|
shape | 数组的形状,如果填y时,表示一维数组中含有y个元素。如果填(x,y,z)表示有x个一维数组,每个数组中有y个元素。如果填(x,y,z)时,表示有x个二维数组,每个二维数组中有y个一维数组,每个一维数组中有z个元素。以此类推。 |
dtype | 若不填类型时,默认为float类型 |
import numpy
array = numpy.zeros((2,3,4),dtype = int)
print(array)
(4) 指定数组大小、数值类型,并以1填充
数组 = numpy.ones(shape,dtype= 类型)
注:用这种方法创建的数组元素默认为1
参数 | 介绍 |
---|---|
shape | 数组的形状,如果填y时,表示一维数组中含有y个元素。如果填(x,y,z)表示有x个一维数组,每个数组中有y个元素。如果填(x,y,z)时,表示有x个二维数组,每个二维数组中有y个一维数组,每个一维数组中有z个元素。以此类推。 |
dtype | 若不填类型时,默认为float类型 |
import numpy
array = numpy.ones((2,3,4),dtype = int)
print(array)
(5)指定数值范围、数值类型
数组 = numpy.arange(start,stop,step,dtype = 类型)
参数 | 介绍 |
---|---|
start | 起始值,默认为0 |
stop | 终止值(不包含) |
step | 步长,默认为1 |
dtype | 若不填类型时,默认为int类型 |
import numpy
array = numpy.arange(1,10,1,dtype = int)
print(array)
(6)等差数列
数组 = numpy.linspace(start,stop,num,endpoint,retstep,dtype)
注:等差数列的公差将会根据元素个数和数值范围进行变更。
参数 | 介绍 |
---|---|
start | 起始值 |
stop | 终止值 |
num | 元素个数,默认为50 |
endpoint | 是否数值范围中,包含stop,默认为True |
retstep | 是否在数组中显示间距 |
dtype | 数值类型 |
import numpy
array = numpy.linspace(1,10,10,endpoint = True,dtype = int)
print(array)
(7)等比数列
数组 = numpy.logspace(start,stop,num,endpoint,base,dtype)
注:等比数列的公比将会根据元素个数和数值范围进行变更。
参数 | 介绍 |
---|---|
start | 起始值为base的start次方 |
stop | 终止值为base的stop次方 |
num | 元素个数,默认为50 |
endpoint | 是否数值范围中,包含stop,默认为True |
base | 对数中的底数,默认为10 |
dtype | 数值类型 |
import numpy
array = numpy.logspace(1,2,20,endpoint = True,base=10,dtype= int)
print(array)
[2]. 查看数值特性
(1) 查看数组的维度
数组.ndim
注:用这个方法可以查看数组是几维的
import numpy
array = numpy.zeros((2,3),dtype= int) #创建一个2行3列的二维数组
print('维度:',array.ndim)
print(array)
(2)查看数组中每个维度的大小
数组.shape
import numpy
array = numpy.zeros((2,3),dtype= int)
print('大小:',array.shape)
print(array)
(3)查看数组中元素的个数
数组.size
import numpy
array = numpy.zeros((2,3),dtype= int)
print('个数:',array.size)
print(array)
(4)查看数组中元素的类型
数组.dtype
import numpy
array = numpy.zeros((2,3),dtype= int)
print('类型:',array.dtype)
print(array)
(5)查看数组中元素的字节大小
数组.itemsize
import numpy
array = numpy.zeros((2,3),dtype= int)
print('字节大小:',array.itemsize)
print(array)
[3]. 索引和切片
数组的索引是从0开始的
,如果一个数组有5个元素,则相应元素的索引为:0 1 2 3 4
数组是由列表、元组转化过来的,所以数组同样有切片的作用。
数组也可以使用负数索引来查询数值,此处就不多介绍切片和负数索引了。
import numpy
array = numpy.array([1,2,3,4,5],dtype = int)
print(array[0]) #获取数组中的第一个元素值
lst1 = [1,2,3]
lst2 = [4,5,6]
array = numpy.array([lst1,lst2],dtype = int)
print(array[0][2]) #获取lst1中的第3个元素(索引需要减1)
[4]. 数组变形
此处的数组变形不是数组的类型转换,而是数组的形状发生变化,如4行3列变成3行4列。
数组当中的元素值不会发生变化,而且要求变化后的元素总个数不能改变
,若4行3列(12个)要转换成2行2列(4个)时将会报错。
import numpy
lst1 = [1,2,3,4]
lst2 = [5,6,7,8]
array = numpy.array([lst1,lst2],dtype = int) #创建一个2行4列的数组
print(array)
print()
array = array.reshape(4,2) #转换为4行2列的数组
print(array)
[5]. 数组的组合
数组的组合是针对多个数组的
,可以是多个同样的数组进行组合。
数组直接组合:新数组 = nump.concatenate([数组1,数组2,.....,数组N])
垂直方向组合(行):新数组 = nump.vstack([数组1,数组2,......,数组N])
水平方向组合(列):新数组 = nump.vstack([数组1,数组2,......,数组N])
import numpy
array = numpy.array([1,2,3])
print(numpy.concatenate([array,array])) #直接将后面的数组连接到前面数组的末尾
import numpy
array = numpy.array([1,2,3])
print(numpy.vstack([array,array]))
import numpy
array = numpy.array([1,2,3])
print(numpy.hstack([array,array]))
[6]. 数组的拆分
数组的拆分主要是针对单个数组的,将单个数组拆分成多个数组
数组直接拆分:numpy.split(数组,个数)
垂直方向拆分(行):numpy.vsplit(数组,个数)
水平方向拆分(列):numpy.hsplit(数组,个数)
import numpy
lst1 = [1,2,3]
lst2 = [4,5,6]
array = numpy.array([lst1,lst2]) #创建一个2行3列数组
x,y = numpy.split(array,2) #拆分回两个一维数组
print(x)
print(y)
import numpy
lst1 = [1,2,3]
lst2 = [4,5,6]
array = numpy.array([lst1,lst2]) #创建一个2行3列数组
x,y = numpy.vsplit(array,2) #按行拆分,可分为两个1行3列数组
print(x)
print(y)
import numpy
lst1 = [1,2,3]
lst2 = [4,5,6]
array = numpy.array([lst1,lst2]) #创建一个2行3列数组
x,y,z = numpy.hsplit(array,3) #按列拆分,可分为三个含有2行1列数组
print(array)
print()
print(x)
print(y)
print(z)
本文地址:https://blog.csdn.net/smallfox233/article/details/107300099
上一篇: Django使用echarts进行可视化展示(mysql数据库)
下一篇: 微博营销注意要点分享