Numpy——用它来进行数组创建
在开始之前先来了解Numpy,NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。
Numpy怎么安装呢?
最简单的方法是下载以下的 Python 发行版,它们包含了所有的关键包(包括 NumPy,SciPy,matplotlib,IPython,SymPy 以及 Python 核心自带的其它包)
由于我们已经安装了 Anaconda: 免费 Python 发行版,所以自带了Numpy,不用另外安装了。
如果没有安装Numpy,可以通过以下pip语句安装:
//安装
! pip install numpy
//导入
import numpy as np
数组产生
自定义数组
#引入numpy
import numpy as np;
#list产生数组
np.array([3,2])
#list of list
np.array([[3,2]])
#二维list
np.array([3,2],ndmin=2)
#tuple
np.array((3,2))
#二维list
np.array((3,2),ndmin=2)
#二维数组
np.array([[3,2],[3,4]])
np.array([(2,3),(3,4)])
#设置数据类型
np.array([[1,2],[3,4]],dtype='float')
np.array([[1,2],[3,4]],dtype='str')
等差数组
1、使用arange函数,参数为开始、结束、等差值
使用reshape函数可以设置维度,参数为行数、列数
当列数为-1时,自动计算适配,不用我们自己计算
设置数据类型
2、使用linspace设置等差数列,参数为开始、结束,数据个数
等比数列
使用lospace设置等比数列,参数为开始、结束,数据个数,等比base(默认是10)
全0\1数组
随机数组
需要固定随机结果,设置seed:
随机生成正太分布数据
随机生成整数数据
数组属性
数组转置
数据选择
-
索引选择
-
切片选择:切出一部分,参数:头索引、尾索引,间隔
-
索引选择
-
切片选择
注意:冒号和三个省略号作用一致
数组计算
a=np.array([[1,2,3,4],[5,6,7,8]])
#求和
np.sum(a)
#按行求和
np.sum(a,axis=1)
#按列求和
np.sum(a,axis=0)
#累积求和
np.cumsum(a)
#按行累积
np.cumsum(a,axis=1)
#求均值
np.mean(a)
#按行求均值
np.mean(a,axis=1)
#求均值
np.average(a)
#加权求均值
np.average(a,axis=1,weights=[1,2,3,4])
#求中位数
np.median(a)
#按行求中位数
np.median(a,axis=1)
#求百分位数
np.percentile(a,q=[50,100])
#求方差
np.var(a)
#求标准差
np.std(a)
#求最小值
np.min(a)
#求最大值
np.max(a)
#按列求最小值
np.min(a,axis=0)
#求最大值索引
np.argmax(a)
#四舍五入
np.round([1.3,4.5,3.9])
np.floor([1.3,4.5,3.9])
np.ceil([1.3,4.5,3.9])
#排序
np.sort(a)
#倒序
-np.sort(-a)
#选择
np.where(a>50,">50",'<=50')
#提取
np.extract(a>50,a)
数组拷贝
-
深拷贝:copy函数,修改拷贝数组,不会影响原来的数组
-
浅拷贝:view函数,拷贝出来的数组,被修改会同时修改原来的数组
数组展开和合并
- 二维数组展开成1维数组
-
flat属性展开
flatten方法展开(可以有order属性,order='C'按行展开(默认),order='F'按列展开)
-
两个数组合并:按行合并(hstack函数,两个数组必须维度相同)
String基本操作
-
大小写
-
分割合并
使用char包中的split函数分割,默认空格分割
使用join函数合并
-
寻找替换
数据保存
-
单文件保存,npx
-
多文件保存,npz
-
txt保存