numpy介绍
- numpy是一个python中做科学计算的基础库,重在数值计算,也是其他科学计算库的基础库,多`用在于大型的,多维数组上执行数值运算
接下来介绍numpy的基础用法
#创建数组
a=np.array([0,1,2,3,4,5,6,7,8,9])
b=np.array(range(10))
c=np.arange(10)
print(a)
#查看数组类型
print(type(a))
print(b)
print(c)
print("**"*100)
#numpy中创建小数,并保留小数位
d=random.random()
print(d)
#保留三位小数
print(round(d,3))
#np.round也可以
print(np.round(d,3))
得到的结果如下
python科学计算之numpy学习数组的计算以下是上述代码的计算结果numpy读取文件numpy索引和切片numpy中数值的修改这些就是numpy的基础用法 数组的计算
# 数组的形状a.shape,
a=np.array([1,2,3,4,2,3,1,1,5,6,7,9])#一维数组 shape只表示数组中的个数
b=np.array([[2,3,4,5,6,7,8],[3,4,5,6,7,8,9]])#二维数组 shape表示n行n列
print(a.shape)
print(b.shape)
print("*"*100)
#重塑形状
a=a.reshape(3,4)
print(a)
c=np.arange(24).reshape(2,3,4)
print(c)
#数组的计算
print("数组的计算")
c=np.arange(24).reshape(2,3,4)
print(c/2)
print(c+2)
print(c*2)
#数组与数组的计算
print("数组与数组的计算")
t1=np.arange(24).reshape(4,6)
print(t1)
t2=np.arange(4).reshape(4,1)
print(t2)
print(t1-t2)
- 要说明一下,对于二维的数组和数组的计算,如(4,6)和(4,1)他们也是可以进行加减法运算的,主要是在某一维度是相同的个数比如都是4行。在三维数组中,如(2,3,4)与二维数组(2,3),(3,4)都可以进行计算的,以此可以推广到其他维度
以下是上述代码的计算结果
python科学计算之numpy学习数组的计算以下是上述代码的计算结果numpy读取文件numpy索引和切片numpy中数值的修改这些就是numpy的基础用法
python科学计算之numpy学习数组的计算以下是上述代码的计算结果numpy读取文件numpy索引和切片numpy中数值的修改这些就是numpy的基础用法 numpy读取文件
import numpy as np
np.loadtxt(fname,dtype=np.float,delimiter=None,skiprows=0,usecols=None,unpack=False)
python科学计算之numpy学习数组的计算以下是上述代码的计算结果numpy读取文件numpy索引和切片numpy中数值的修改这些就是numpy的基础用法 import numpy as np
file_path="/home/python/Desktop/testdata/data1.csv"
t1=np.loadtxt(file_path,delimiter=",",dtype=int)
print(t1)
- 得到的结果
python科学计算之numpy学习数组的计算以下是上述代码的计算结果numpy读取文件numpy索引和切片numpy中数值的修改这些就是numpy的基础用法
numpy索引和切片
方法都写在了注释中
import numpy as np
file_path="/home/python/Desktop/testdata/data1.csv"
t1=np.loadtxt(file_path,delimiter=",",dtype=int)
print(t1)
print("*"*100)
#取行
print(t1[2])
#取连续多行
print(t1[2:5])
print(t1[2:])
#取不连续多行
print(t1[[2,3,5,7]])
print("*"*100)
#取列
print(t1[:,1])
#取连续多列
print(t1[:,1:])
#取不连续多列
print(t1[:,[2,3]])
print("*"*100)
#取第n行第m列的数
a=t1[1,3]
print(a)
#取多行多列(4到6行,2到4列)取的是交叉点位置
b=t1[1:5,1:3]
print(b)
#取多个不相邻的点取的是(2,1)(3,3)这两个点
c=t1[[2,3],[1,3]]
print(c)
numpy中数值的修改
import numpy as np
t=np.arange(24).reshape(4,6)
#把第3,4列都赋值为0
t[:,2:4]=0
print(t)#把t中小于10都赋值为3
t[t<10]=3
#把t中小于10都赋值为0 ,大于10的赋值维10
t=np.where(t<10,0,10)
#把t中小于10都赋值为0 ,大于20的赋值维20
t.clip(10,20)
这些就是numpy的基础用法