numpy的常用方法整理

       Numpy是Python科学计算库的基础。Numpy的主要对象是一个多维度的、均匀的多维数组。Numpy提供了各种函数方法可以非常方便灵活的操作数组,熟练掌握数组的基本概念是使用数组这种数据结构的基本要求。

目录

1.定义ndarray类型

2.打印ndarray类型的特征

3.矩阵的运算

4.矩阵的取值

5.矩阵的合并、分割、拷贝

6.矩阵元素的查询

7.保存与读取


1.定义ndarray类型

(1): a1 = np.array([[1,2,3],[2,3,4]]) 
(2):a1 = np.array([1,2,3],[4,5,6], dtype=np.float32) # 指定类型定义
(3):a1 = np.zeros((3,4)) # 指定维度定义0矩阵
(4):a1 = np.ones((3,4),dtype=np.float) # 指定数据类型和维度的单位矩阵
(5):a1 = np.empty((3,3)) # 指定维度的空矩阵
(6):a1 = np.arange(12).reshape((2,6)) # 产生0,12之间的指定维度
(7):a1 = np.linspace(1,10,6).reshape(3,2) # 产生1,10之间平均的6位数,并指定维度

2.打印ndarray类型的特征

定义一个矩阵: a1 = np.array([[1,2,3],[2,3,4]])
(1):a1.ndim # 打印几维
(2):a1.size # 打印矩阵有多少元素
(3):a1.shape # 矩阵的维度元祖形式

3.矩阵的运算

定义两个矩阵:
a1 = np.array([1,2,3,4])
a2 = np.array([5,6,7,8])

(1)相加,相乘,相减,相除:
a1+a2 = [6 8 10 12] # 对应位置相加 ,其余类比。

(2)平方
c = a1**2+a2**2 
c = [26 40 58 80]

(3)sin,cos
np.sin(a1)
np.cos(a2)

(4):点乘,矩阵运算
c_dot = np.dot(a,b)# 矩阵乘法
a*b          # 对应位置元素相乘

(5):求和
a = np.array([[1,3,5,6],[2,4,6,7]])
np.sum(a) = 34 # 所有数相加
np.sum(a,axis=1) = [15 19] # 指定每行相加
np.sum(a,axis=0) = [3 7 11 13] # 指定每列相加

(6):最大值,最小值,中值,平均值可以通过加参数axis来求每一行或每一列
np.min(a) = 1
np.max(a) = 7
np.mean(a) # 平均值
np.average(a) # 平均值
np.median(a) # 中值

(7):其他运算
np.argmin(a) # 最小值的索引
np.argmax(a) # 最大值的索引
np.cumsum(a) # 除了第一个其余的累加,类似斐波那契,但不相等。
np.diff(a) #前后两个的差值
np.sort(a) # 从小到大排序
np.tanspose(a) | a.T # 转置
np.clip(a,3,8) # 大于8的等于8小与3的等于3

4.矩阵的取值

a[1] # 根据下表取值
a[1][1]
a[0,:]# 第0行的所有列
a[0,1:3]# 第0行的指定列
循环打印所有的行
for row in a:
    print(row)
循环打印所有的列
for column in a.T:
    print(column)
将二维的每一个都打印出来
for item in a.flat:
    kprint(item) 

5.矩阵的合并、分割、拷贝

(1):合并
np.vstack((a,b))  | np.concatenate((a,b),axis=0)# 上下合并
np.hstack((a,b)) |  np.concatenate((a,b),axis=0) # 左右合并

(2):分割
np.split(a,2,axis=1) # 均等分割
np.array_split(a,3,axis=0) # 不均等分割
np.vsplit(a,3)
np.hstack(a,2)

(3):拷贝
a = b # l两者相互影响,
b = a.copy() # 只拷贝值,不拷贝路径

6.矩阵元素的查询

###查找与赋值
x_data[x_data == '?'] = 0
###另一种查找
test=np.array([5,10,15,20])
print (test==15)
# 输出 array([False,False,Ture,False],dtype=bool)
###多重查找
test==15 & test==10
###转换数据类型
test.astype(np.float32)
p=test.astype(np.int)

7.保存与读取

numpy的强大之处有一个就是文件操作。 
- 不仅能识别不同格式的文件: .csv .npy .txt .exl .bin等等 
- 还能快速读取(特别有用) 
- 最后还能快速导出npy

###二进制文件
a=np.array(range(12)).reshape([3,4])
a.tofile('filename.bin')                   #写
b=np.fromfile('filename.bin',dtype='')     #读
###npy文件
np.save("filename.npy",a)                  #写并传给a
np.load("filename")                        #读
###另一种方法---用于npy有多个array
f=open('filename','wb')
np.save(f,a)
#注意此时,b有点像句柄,也有点像栈,会跳转到下一个array
b=np.load(f)
print(b)
b=np.load(f)
print(b)
###常用的txt文件
np.savetxt("filename.txt",a)
#用于处理一维或二维的简单数据
b=np.loadtxt("filename.txt")
###其他文件
np.load(...)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值