关于python中矩阵的实现和矩阵的转置
python中矩阵的实现是靠序列,,,
序列有很多形式,
其实矩阵是现实生活中的东西,把现实生活中的结构转换到程序中。
就需要有个实现的方法,而这种路径是多种多样的。
下面给出一个把矩阵转换成python中的序列、
然后进行矩阵的转置
# -*- coding: utf-8 -*-
#下面的测试是关于转置的。
import numpy as np #NumPy
minVals=np.array([1,2,3])
print(minVals)
data=np.tile(minVals,(3,1)) #这里调用了一个numpy的一个函数tile。它的作用是把minVals按照行列排布
print(data)
data=data.T
print(data)
#下面是输出结果:
[1 2 3]
[[1 2 3]
[1 2 3]
[1 2 3]]
[[1 1 1]
[2 2 2]
[3 3 3]]
#下面给一个创建矩阵,归一化,转置的程序:
# -*- coding: utf-8 -*- def autoNorm0(dataSet): #这部分是归一化【】,按照行进行归一化
"""
行的归一化
可以看做是光谱自身的归一化,就是光谱的高度波动变成了0-1之间。
这个需要验证
"""
minVals=dataSet.min(1) #参数0应该是代表着按行计算.
print(minVals)
maxVals=dataSet.max(1)
ranges=maxVals-minVals #这个是范围
normDataSet=np.zeros(np.shape(dataSet)) m=dataSet.shape[1] #这个是列数 data=np.tile(minVals,(m,1))
ranges_juzhen=np.tile(ranges,(m,1)) ranges_juzhen=ranges_juzhen.T
data=data.T normDataSet=dataSet-data #因为归一化是从0开始的,归到0-1这个范围里面.
normDataSet=normDataSet/ranges_juzhen #特征值相除,,会不会出现浮点,或者除不尽的情况.???
return normDataSet,ranges,minVals #要弄懂返回来的这几个参数是什么??? #下面的测试是关于转置的。
import numpy as np #NumPy minVals=np.array([1,2,3])
print(minVals) data=np.tile(minVals,(3,1)) #把序列转换成数组
print("矩阵:")
print(data)
print() normDataSet,ranges,minVals=autoNorm0(data) #归一化
print("矩阵归一化结果:")
print(normDataSet) data=data.T #进行矩阵的转置
print("转置矩阵:")
print(data) normDataSet,ranges,minVals=autoNorm0(data) #转置之后进行归一化
print("矩阵转置后归一化结果:")
print(normDataSet)
输出结果如下:
[1 2 3]
矩阵:
[[1 2 3]
[1 2 3]
[1 2 3]]
[1 1 1]
矩阵归一化结果:
[[0. 0.5 1. ]
[0. 0.5 1. ]
[0. 0.5 1. ]]
转置矩阵:
[[1 1 1]
[2 2 2]
[3 3 3]]
[1 2 3]
矩阵转置后归一化结果:
[[nan nan nan]
[nan nan nan]
[nan nan nan]]
D:/1论文/2018.0919/0919/program/0906/knn/ceshi.py:25: RuntimeWarning: invalid value encountered in true_divide
normDataSet=normDataSet/ranges_juzhen #特征值相除,,会不会出现浮点,或者除不尽的情况.???
关于python中矩阵的实现和矩阵的转置的更多相关文章
- python 中几种基本的矩阵操作应用
在图像处理中,python 的矩阵运算经常会用到一些简单的操作,可是,由于好久没用,很多东西还是忘记了,这里做个备忘: #-*-coding:utf-8-*- import numpy as np a ...
- [转]Python中的矩阵转置
Python中的矩阵转置 via 需求: 你需要转置一个二维数组,将行列互换. 讨论: 你需要确保该数组的行列数都是相同的.比如: arr = [[1, 2, 3], [4, 5, 6], [7, 8 ...
- 关于python中的矩阵乘法(array和mat类型)
关于python中的矩阵乘法,我们一般有两种数据格式可以实现:np.array()类型和np.mat()类型: 对于这两种数据类型均有三种操作方式: (1)乘号 * (2)np.dot() (3)np ...
- Python中的几种矩阵乘法(转)
一. np.dot() 1.同线性代数中矩阵乘法的定义.np.dot(A, B)表示: 对二维矩阵,计算真正意义上的矩阵乘积. 对于一维矩阵,计算两者的内积. 2.代码 [code] import ...
- Python 中的几种矩阵乘法 np.dot, np.multiply, *【转】
本文转载自:https://blog.csdn.net/u012609509/article/details/70230204 Python中的几种矩阵乘法1. 同线性代数中矩阵乘法的定义: np.d ...
- python中的矩阵、多维数组----numpy
https://docs.scipy.org/doc/numpy-dev/user/quickstart.html (numpy官网一些教程) numpy教程:数组创建 python中的矩阵.多维数 ...
- Python 中的几种矩阵乘法 np.dot, np.multiply, *
使用array时,运算符 * 用于计算数量积(点乘),函数 dot() 用于计算矢量积(叉乘).使用matrix时,运算符 * 用于计算矢量积,函数 multiply() 用于计算数量积. 下面是使用 ...
- Python中的矩阵、多维数组:Numpy
Numpy 是Python中科学计算的核心库.它提供一个高性能多维数据对象,以及操作这个对象的工具.部分功能如下: ndarray, 具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组. 用于对 ...
- Python numpy tensorflow 中的 点乘 和 矩阵乘法
1)点乘(即“ * ”) ---- 各个矩阵对应元素做乘法 若 w 为 m*1 的矩阵,x 为 m*n 的矩阵,那么通过点乘结果就会得到一个 m*n 的矩阵. 若 w 为 m*n 的矩阵,x 为 m ...
随机推荐
- Docker中运行MySQL5.7并挂载宿主机目录到镜像
原文:Docker中运行MySQL5.7并挂载宿主机目录到镜像 1.1 拉取mysql镜像 docker pull mysql:5.7 1.2 创建用于挂载的目录 mkdir -p /data/mys ...
- 【福利】微信小程序130个精选Demo合集
小编最近在开发小程序,也读到了不少优秀的小程序源码,项目中有些需求可以直接从源码里粘贴复制过来,虽然这样做不利于自己独立编写代码,但比较是给公司做项目啊,秉着效率第一的原则,简直没有什么比ctrl+c ...
- Use PSO to find minimum in OpenCASCADE
Use PSO to find minimum in OpenCASCADE eryar@163.com Abstract. Starting from OCCT6.8.0 will include ...
- 华为荣耀3C最新版ROM的root,(4.7.1和4.8.1等等通用方法)
手头一台honor 3c的机器.应该是线刷的时候,把IMEI给刷掉了.导致移动2G卡无法上网. 刷了4.7.1或者4.8.1.尝试了全部方法都root失败了. 正好我手头有6582的代码.我想.既然系 ...
- android图像处理(3) 底片效果
这篇将讲到图片特效处理的底片效果.跟前面一样是对像素点进行处理,算法是通用的. 算法原理:将当前像素点的RGB值分别与255之差后的值作为当前点的RGB值. 例: ABC 求B点的底片效果: B.r ...
- 5.brackets 快捷键 有大用
转自:https://blog.csdn.net/u012011360/article/details/41209223 ctrl+b 当选中一个文本时,会出现相同的文本,被高亮显示 按ctrl+b ...
- express中的中间件理解
什么是中间件 中间件是一个可访问请求对象(req)和响应对象(res)的函数,在 Express 应用的请求-响应循环里,下一个内联的中间件通常用变量 next 表示.中间件的功能包括: 执行任何代码 ...
- 一台服务器安装运行多个Tomcat及注册服务
项目需要,自己配置了一下,顺便分享出来. 1.下载对应版本Tomcat,这里下载Tomcat7.0.65.zip; 下载地址:http://archive.apache.org/dist/tomcat ...
- 趣题: 按二进制中1的个数枚举1~2^n (位运算技巧)
; ; k <= n; k++){ << k)-,u = << n; s < u;){ ;i < n;i++) printf(-i)&); print ...
- c# winform 技术提升
http://www.cnblogs.com/junjie94wan/category/303961.html http://www.cnblogs.com/springyangwc/archive/ ...