关于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 ...
随机推荐
- Web测试要点 做移动端的测试,也做web端的测试,甚至后面桌面端的测试和后台的测试也做了,基本上把我们产品各个端都玩了一轮
Web测试要点 一.功能测试 1.链接测试 (1).测试所有链接是否按指示的那样确实链接到了该链接的页面: (2).测试所链接的页面是否存在: (3).保证Web应用系统上没有孤立的页面(所谓孤立 ...
- J2SE基础:2.对象的创建与使用
1:參数传递的值传递与引用传递 A:值传递:基本数据类型传递都是值传递 B:引用传递(地址传递):对象数据类型都是引用传递. 2:类变量与成员变量(实例变量,对象变量) 类变量:通过类名调用,类变量被 ...
- js---11闭包
//匿名立即调用函数 (function(){//把a,b,f全部隐藏在函数中,外部访问不到, var a = 5; var b = 6; function f(){ alert(a); } wind ...
- android-开发环境相关概念
Android中IDE.ADT.SDK.JDK.NDK的解释 1. IDE: Intelligent Development Environm的简称.即智能开发环境.是一种开发工具.常用的IDE有ad ...
- Linq聚合函数使用
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 蓝桥杯训练 2n皇后
问题描述 给定一个n*n的棋盘,棋盘中有一些位置不能放皇后.现在要向棋盘中放入n个黑皇后和n个白皇后,使任意的两个黑皇后都不在同一行.同一列或同一条对角线上,任意的两个白皇后都不在同一行.同一列或同一 ...
- Zabbix自动发现与自动注册.
一, 自动发现与自动注册 自动发现? 当场景中出现要添加很多台主机的时候,一台台添加难免太过于繁琐,zabbix提供自动注册,自动发现,可以实现主机的批量添加, zabbix的发现包括三种类型: # ...
- Multidex实现简要分析
1.Multidex的产生 在android5.0之前,每一个android应用中只会含有一个dex文件,但是因为Android系统本身的BUG,使得这个dex的方法数量被限制在65535之内,这就是 ...
- Java学习笔记十
网络编程: 一.osi和TCP协议对照: 二.通讯三要素: 三.InetAddress对象简述: import java.net.InetAddress; import java.net.Unknow ...
- 注意string的insert函数的几种形式
string (1) string& insert (size_t pos, const string& str); substring (2) string& insert ...