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中矩阵的实现和矩阵的转置的更多相关文章

  1. python 中几种基本的矩阵操作应用

    在图像处理中,python 的矩阵运算经常会用到一些简单的操作,可是,由于好久没用,很多东西还是忘记了,这里做个备忘: #-*-coding:utf-8-*- import numpy as np a ...

  2. [转]Python中的矩阵转置

    Python中的矩阵转置 via 需求: 你需要转置一个二维数组,将行列互换. 讨论: 你需要确保该数组的行列数都是相同的.比如: arr = [[1, 2, 3], [4, 5, 6], [7, 8 ...

  3. 关于python中的矩阵乘法(array和mat类型)

    关于python中的矩阵乘法,我们一般有两种数据格式可以实现:np.array()类型和np.mat()类型: 对于这两种数据类型均有三种操作方式: (1)乘号 * (2)np.dot() (3)np ...

  4. Python中的几种矩阵乘法(转)

    一.  np.dot() 1.同线性代数中矩阵乘法的定义.np.dot(A, B)表示: 对二维矩阵,计算真正意义上的矩阵乘积. 对于一维矩阵,计算两者的内积. 2.代码 [code] import ...

  5. Python 中的几种矩阵乘法 np.dot, np.multiply, *【转】

    本文转载自:https://blog.csdn.net/u012609509/article/details/70230204 Python中的几种矩阵乘法1. 同线性代数中矩阵乘法的定义: np.d ...

  6. python中的矩阵、多维数组----numpy

    https://docs.scipy.org/doc/numpy-dev/user/quickstart.html  (numpy官网一些教程) numpy教程:数组创建 python中的矩阵.多维数 ...

  7. Python 中的几种矩阵乘法 np.dot, np.multiply, *

    使用array时,运算符 * 用于计算数量积(点乘),函数 dot() 用于计算矢量积(叉乘).使用matrix时,运算符 * 用于计算矢量积,函数 multiply() 用于计算数量积. 下面是使用 ...

  8. Python中的矩阵、多维数组:Numpy

    Numpy 是Python中科学计算的核心库.它提供一个高性能多维数据对象,以及操作这个对象的工具.部分功能如下: ndarray, 具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组. 用于对 ...

  9. Python numpy tensorflow 中的 点乘 和 矩阵乘法

    1)点乘(即“ * ”) ---- 各个矩阵对应元素做乘法  若 w 为 m*1 的矩阵,x 为 m*n 的矩阵,那么通过点乘结果就会得到一个 m*n 的矩阵. 若 w 为 m*n 的矩阵,x 为 m ...

随机推荐

  1. linux 查看tomcat 实时日志

    进入tomcat下logs文件夹下,若没有Catalina.out文件先去启动服务在回到logs文件夹输入 tail -f catalina.out ,可看到实时日志

  2. cogs 1405. 中古世界的恶龙[The Drangon of Loowater,UVa 11292]

    1405. 中古世界的恶龙[The Drangon of Loowater,UVa 11292] ★   输入文件:DragonUVa.in   输出文件:DragonUVa.out   简单对比时间 ...

  3. 洛谷 P3130 [USACO15DEC]计数haybalesCounting Haybales

    P3130 [USACO15DEC]计数haybalesCounting Haybales 题目描述 Farmer John is trying to hire contractors to help ...

  4. [Android实例] 高速静默更新,低流量耗费,让APP活跃起来!

    大家好.我是csdn的新人,给大家带来一个做了一个星期的SDK,能够实现将Android APP碎片化管理.自由更新,实时更新,低流量耗费的更新~~ Zag Whim Renewal A system ...

  5. javaweb二

    除了servlet规范,还有filter,listener.filter和servlet相似,但是在servlet之前执行,主要区别是有一个FilterChain接口可以执行拦截方法. import ...

  6. JSP_Learn

    // 解决中文乱码的问题String name = new String((request.getParameter("name")).getBytes("ISO-885 ...

  7. echarts插件-从后台请求的数据在页面显示空白的问题

    最近的项目里面关于统计图方面的问题,有涉及到很多,也在博客里面更新了自己所遇到的问题,开发过程中会遇到很多问题,解决技术问题的方法也有千千万 图片.png 在百度上百度了一下,发现了问题所在之处,不得 ...

  8. 聊聊高并发(二十八)解析java.util.concurrent各个组件(十) 理解ReentrantReadWriteLock可重入读-写锁

    这篇讲讲ReentrantReadWriteLock可重入读写锁,它不仅是读写锁的实现,而且支持可重入性. 聊聊高并发(十五)实现一个简单的读-写锁(共享-排他锁) 这篇讲了怎样模拟一个读写锁. 可重 ...

  9. XMPP开发之从零開始

    对于server的搭建和设置.我在这里就不再多说了.有好多前辈已经帮大家攻克了.能够參考下这篇博客 XMPPserver配置 我依照这个博客配置好了,server后,然后在网上參照代码写了一个小的de ...

  10. 6.Windows 二进制文件 (.exe)安装--终端安装

    转自:http://www.runoob.com/nodejs/nodejs-tutorial.html 32 位安装包下载地址 : http://nodejs.org/dist/v0.10.26/n ...