python numpy 使用笔记 矩阵操作
(原创文章转载请标注来源)
在学习机器学习的过程中经常会用到矩阵,那么使用numpy扩展包将是不二的选择
建议在平Python中用多维数组(array)代替矩阵(matrix)
入门请考 http://old.sebug.net/paper/books/scipydoc/numpy_intro.html#
import numpy np
1. 读写数组,这里可以看成矩阵
#返回值格式(评分,信任表,用户个数,项目个数)
a = np.arange(0,12,0.5).reshape(4,-1)
np.savetxt("a.txt", a) # 缺省按照'%.18e'格式保存数据,以空格分隔
np.loadtxt("a.txt")
np.loadtxt('a.txt',dtype='int')#设置读出的数据类型
2. 使用数组的reshape方法,可以创建一个改变了尺寸的新数组,原数组的shape保持不变:
a = np.arange(4).reshape(2,2)
b = np.arange(6).reshape(2,3)
print('the result is\n ',a)
print('the result is\n ',b)
3.transpose()对数组进行转置
print('the transpose is\n ',b.transpose())#转置
4. 矩阵运算
np.dot() #矩阵的乘法
print('the result is\n ',np.dot(a,b))#矩阵乘
np.linalg.inv() #求矩阵的逆
print('the inverse is\n ',np.linalg.inv(a))#逆矩阵
5. 求行列大小
(m,n) = a.shape#求行列个数
6. 求最值
temp1 = np.max(a[:,0])
temp2 = np.min(a[:,0])
7. 求第三列等于1的个数
np.sum(a[:,2]==1)
8. 求一组随机数组
randIndices = np.random.permutation(4) ans=array[[3,0,2,1]]
9. 组合两个数组
np.vstack((a,b))#纵向结合,保证列数相同 注意双括号
np.hstack((a,b))#横向结合,保证行数相同
10. 求和 和 计算平均数
np.sum(a,0)#0代表求得是各列的和 np.mean(a,1)#1代表求得各行的平均数
11.求交集
np.intersectld(a[0,:],b[0,:])#求两个一维数组的交集
12.条件查询
np.where(a>5)#找到所有满足条件的位置 np.where(a>5,0,1)#找到这些值满足赋值为0,不满足赋值为1
13.矩阵写文件 追加 方式
fileObject = open('result.txt','a')#追加的方式打开文件
a = [[1,2,3] ,[3,4,5] , [4,5,6]]#存取list
for i in a:
tmp = str(i)
tmp = tmp.replace('[','')
tmp = tmp.replace('[','')+'\n'
fileObject.weite(tmp)
fileObject.close()
b = np.loadtxt('result.txt',delimiter=',')#同样可以读出矩阵
print(b[:,:])
未完。。补充中。。欢迎讨论
python numpy 使用笔记 矩阵操作的更多相关文章
- Python numpy学习笔记(一)
下边代码是关于numpy的一些基本用法,包括数组和矩阵操作等... import numpy as np print "<== print version ==>" p ...
- python基础学习笔记——文件操作
文件操作 初始文件操作 使用Python来读写文件是非常简单的操作,我们使用open()函数来打开一个文件,获取到文件句柄,然后通过文件句柄就可以进行各种各样的操作了 根据打开方式的不同能够执行的操作 ...
- python自动化测试学习笔记-6excel操作xlwt、xlrd、xlutils模块
python中通过xlwt.xlrd和xlutils操作xls xlwt模块用于在内存中生成一个xls/xlsx对象,增加表格数据,并把内存中的xls对象保存为本地磁盘xls文件; xlrd模块用于把 ...
- python.numpy.std()计算矩阵标准差
>>> a = np.array([[1, 2], [3, 4]]) >>> np.std(a) # 计算全局标准差 1.1180339887498949 > ...
- CS231n课程笔记翻译1:Python Numpy教程
译者注:本文智能单元首发,翻译自斯坦福CS231n课程笔记Python Numpy Tutorial,由课程教师Andrej Karpathy授权进行翻译.本篇教程由杜客翻译完成,Flood Sung ...
- Python numpy中矩阵的用法总结
关于Python Numpy库基础知识请参考博文:https://www.cnblogs.com/wj-1314/p/9722794.html Python矩阵的基本用法 mat()函数将目标数据的类 ...
- Python中的矩阵操作
Numpy 通过观察Python的自有数据类型,我们可以发现Python原生并不提供多维数组的操作,那么为了处理矩阵,就需要使用第三方提供的相关的包. NumPy 是一个非常优秀的提供矩阵操作的包.N ...
- Python Numpy线性代数操作
Python Numpy线性代数函数操作 1.使用dot计算矩阵乘法 import numpy as np from numpy import ones from __builtin__ import ...
- 《Python数据分析》笔记1 ——Numpy
Numpy数组 1.Numpy数组对象 Numpy中的多维数组称为ndarray,他有两个组成部分. 1.数据本身 2.描述数据的元数据 2.Numpy的数值类型 bool: 布尔型 inti:其长度 ...
随机推荐
- [转] 关于C++中模板中的typename和class的区别比较
C++箴言:理解typename的两个含义 转自http://blog.csdn.net/dick_china/article/details/4522253 问题:在下面的 template dec ...
- 《A First Course in Probability》-chaper5-连续型随机变量-均匀随机变量
在连续随机变量这部分,有一种特殊的随机变量X,对于X所有可能取值,P(X)都相等,我们称其为均匀随机变量. 基于均匀随机变量的定义,我们容易看到,其密度函数f(x)必然是一条平行于x轴的直线,因为这样 ...
- N - Tram - poj1847(简单最短路)
题意:火车从一点开到另一点,轨道上有很多岔路口,每个路口都有好几个方向(火车能够选任意一个方向开),但是 默认的是 第一个指向的方向,所以如果要选择别的方向的话得 进行一次切换操作 ,给定一个起点一个 ...
- 10382 - Watering Grass
Problem E Watering Grass Input: standard input Output: standard output Time Limit: 3 seconds n sprin ...
- sql server2008 搭建链接服务器成功后查询时报Cannot obtain the schema rowset "DBSCHEMA_TABLES_INFO" for OLE DB provider "SQLNCLI10" for linked server "XXXXX". 的解决方法
这是由于链接的数据库服务器的版本与本地数据库服务器不一致,有人说要升到sp3,sp4,然后在执行什么语句之类的 我觉得太繁琐了,通过网上查询之后看到可以这么做: USE master GRANT EX ...
- Xcode7连接网络设置
XCode7连接互联网的时候需要再info.plist设置(之前版本都不需要)连接网络NSAppTransportSecurity 字典NSAllowsArbitraryLoads 布尔 Y ...
- ashx一般处理程序文件用处
今天逛博客园,无意发现一篇好文章,关于ashx文件的使用. 文章一:向服务器发送josn字符串,服务器端解析 本文转载:http://www.cnblogs.com/yzenet/p/3470388. ...
- [AngularJS] Enable Animations Explicitly For A Performance Boost In AngularJS
http://www.bennadel.com/blog/2935-enable-animations-explicitly-for-a-performance-boost-in-angularjs. ...
- (五)带属性值的ng-app指令,实现自己定义模块的自己主动载入
如今我们看下怎样使用带属性值的ng-app命令,让ng-app自己主动载入我们自己定义的模块作为根模块. <!DOCTYPE html> <html> <head> ...
- yii 载入css or js
Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . "/js/TableView.js&q ...