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
丁。