Python与机器学习之常用的Numpy操作

Python与机器学习之常用的Numpy操作

在机器学习不断前进的道路上,发现numpy的强大,实际操作时甚至得不停地查阅numpy的资料。所以,再次总结更加实用的numpy。

回顾

实用功能总结

1.numpy导入(公认)
import numpy as np
2.基本运算

import numpy as np
###注意:以后最好用matrix
test1 = np.array([[5, 10, 15],
                 [20, 25, 30],
                 [35, 40, 45]])
test1.sum() #求和
# 输出 225
test1.max() #求最大值
# 输出 45
test1.min() #求最小值
# 输出 5
test1.mean()#求均值
# 输出 25.0

3.矩阵乘法

import numpy as np
a = np.array([[1, 2],
              [3, 4]])
b = np.array([[5, 6],
              [7, 8]])
print (a*b)          # 对应位置元素相乘
print (a.dot(b))     # 矩阵乘法
print (np.dot(a, b)) # 矩阵乘法,同上
# 输出 [[5 12]
#       [21 32]]
#      [[19 22]
#       [43 50]]
#      [[19 22]
#       [43 50]]

###对应矩阵元素求平方
a = np.range(4)
print (a)
print (a**2)
# 输出 [0, 1, 2, 3]
#     [0, 1, 4, 9]

4.常用矩阵操作:向下取整,拉直,转置

###向下取整
import numpy as np
test = np.floor(10*np.random.random((3, 4)))
print (test)
    # 输出 [[ 3.  8.  7.  0.]
            [ 5.  9.  8.  2.]
            [ 3.  0.  9.  0.]]
###拉直
test.ravel()
# 输出 array([ 3.,  8.,  7.,  0.,  5.,  9.,  8.,  2.,  3.,  0.,  9.,  0.])
###转置
test.T

5.常用矩阵操作二:查找,转换数据类型

###查找与赋值
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)

6.文件导入导出(相当重要)
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(...)

推荐系列好文章(直戳)

如果您看到这篇文章有收获或者有不同的意见,欢迎点赞或者评论。
python:190341254
丁。
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值