python输出矩阵的行数_python查看矩阵的行列号以及维数方式
print(X.shape):查看矩阵的行列号
print(len(X)):查看矩阵的行数
print(X.ndim):查看矩阵的维数
1 查看矩阵的行列号
2 查看矩阵的行数
3 查看矩阵的维数
补充知识:Python之numpy模块的添加及矩阵乘法的维数问题
在Python中,numpy 模块是需要自己安装的,在安装编程软件时,默认安装了pip,因此我们可以用pip命令来安装
numpy模块。
首先打开电脑的“cmd.exe”,如下图所示:
在这里输入“pip install numpy”,然后按回车键来安装numpy模块,安装过程如下图所示:
我这里是第二次安装,如果是第一次安装,会显示安装过程的进度条,在图中可以看出 “Successfully installed numpy-1.14.5”,即成功的安装了版本为1.14.5的numpy模块。
接下来就可以使用numpy模块进行编程了。
这里来说一下使用矩阵乘法的问题:在numpy模块中矩阵的乘法用dot()函数,但是要注意维数,还有就是要细心。
下面的代码在执行的过程中就报错了:
import numpy as np
def nonlin(x,deriv=False):
if (deriv==True):
return x*(1-x)
return 1/(1+np.exp(-x))
#input dataset
x=np.array([[0.05, 0.07, 1.26, 51,128983, 37.180962, 149.0759784, 4.368080458, 1.0132, 24.4777],
[0.54, 0.18, 0.34, 30.83226759, 39.7490114, 12.70335148, 5.792655734, 4.66, 1.57],
[0.47, 0.95, 2.01, 38.01532298, 3.080286601, 89.59062789, 5.349154432, 1.05, 0.461],
[0.81, 1.06, 1.3, 77.882162, 59.17737344, 124.9541366, 5.259286248, 0.2105, 1.706]])
#output dataset
y=np.array([[15, 26, 33, 64]]).T
np.random.seed(1)
syn0=2*np.random.random((9,1))-1
for iter in range(10000):
l0=x
l1=nonlin(np.dot(l0,syn0))
l1_error=y-l1
l1_delta=l1_error*nonlin(l1,True)
syn0+=np.dot(l0.T,l1_delta)
print ("Outout after training:")
print (l1)
报错如图所示:
这里的第三十行就是上述代码中的“l1=nonlin(np.dot(l0,syn0))”,这里提示(4,)与(9,1)不对齐,然后打印一下矩阵l0和syn0
的维数,即将命令“print(l0.shape)”和“print(syn0.shape)”放在“l1=nonlin(np.dot(l0,syn0))”的前一行,如下图所示:
发现矩阵l0和syn0的维数分别为(4,)与(9,1),若矩阵l0为(4,9),矩阵乘法才能计算。这里的矩阵l0就是输入,即为x。
经过查找发现输入的第一行数据中,有一个数据错将小数点输成逗号所致。将上述代码的输入数据:
#input dataset
x=np.array([[0.05, 0.07, 1.26, 51,128983, 37.180962, 149.0759784, 4.368080458, 1.0132, 24.4777],
[0.54, 0.18, 0.34, 30.83226759, 39.7490114, 12.70335148, 5.792655734, 4.66, 1.57],
[0.47, 0.95, 2.01, 38.01532298, 3.080286601, 89.59062789, 5.349154432, 1.05, 0.461],
[0.81, 1.06, 1.3, 77.882162, 59.17737344, 124.9541366, 5.259286248, 0.2105, 1.706]])
改为:
#input dataset
x=np.array([[0.05, 0.07, 1.26, 51.128983, 37.180962, 149.0759784, 4.368080458, 1.0132, 24.4777],
[0.54, 0.18, 0.34, 30.83226759, 39.7490114, 12.70335148, 5.792655734, 4.66, 1.57],
[0.47, 0.95, 2.01, 38.01532298, 3.080286601, 89.59062789, 5.349154432, 1.05, 0.461],
[0.81, 1.06, 1.3, 77.882162, 59.17737344, 124.9541366, 5.259286248, 0.2105, 1.706]])
然后代码执行成功。
以上这篇python查看矩阵的行列号以及维数方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
时间: 2020-05-20
python输出矩阵的行数_python查看矩阵的行列号以及维数方式相关推荐
- python矩阵行数_python查看矩阵的行列号以及维数方式
print(X.shape):查看矩阵的行列号 print(len(X)):查看矩阵的行数 print(X.ndim):查看矩阵的维数 1 查看矩阵的行列号 2 查看矩阵的行数 3 查看矩阵的维数 补 ...
- 矩阵化为行最简形矩阵计算器_[内附完整源码和文档] 基于C++的小型特殊计算器...
1.设计内容 实现一个特殊的计算器,可以实现复数.有理数.矩阵和集合的特殊计算.程序可以实现复数.有理数的加.减.乘.除,可以实现矩阵的加法.减法和乘法运算,也可以实现集合的求交集.并集.子集的运算. ...
- C语言试题二十七之请编写程序,实现矩阵(3行3列)的转置(即行列互换)。
1. 题目 请编写一个函数function(int array[3][3]),实现矩阵(3行3列)的转置(即行列互换). 2 .温馨提示 C语言试题汇总里可用于计算机二级C语言笔试.机试.研究生复试中 ...
- 行阶梯型矩阵,行最简形矩阵,标准形矩阵
行阶梯形矩阵: 行最简形矩阵: 标准形矩阵:
- 行列向量的维数和个数的关系【三秩相等作为桥梁】
前置知识 1.列向量组维数增加时,向量组的极大无关组增加(或不变). 2. 三秩相等 向量组证明 直观证明 这两个列向量显然是相关的. 这两个列向量当a和b取k和2k的时候相关(k为任意常数),当不是 ...
- python输出九九乘法表儿歌_python学习:输出九九乘法表
输出九九乘法表 代码: num1 = 1 while num1 <= 9: num2 = 1 while num2 <= num1: print(str(num2)+"*&quo ...
- 【Python】实现M行N列的矩阵转置
M行N列矩阵的转置 说明 解决方法 1. 预定义一个存放矩阵a[M][N]的转置矩阵b[N][M] 2. 使用 列表生成式 进行矩阵的转换: 3. 使用 zip()函数,map()函数,解包 的组合来 ...
- python输出素数5个一排_python如何输出质数
质数(Prime number),又称素数,指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数(也可定义为只有1与该数本身两个因数的数). 简单来说就是,只能除以1和自身的数(需要大于 ...
- python输出第几行第几个_python怎么PRINT出第几行
2013-10-16 回答 def char_ok_but_show_messy(): """ demo python already got normal chines ...
最新文章
- Oracle数据库——数据库安全性管理
- java的lr词法编译器_Sample语言编译器(词法分析、正规式、LL、LR、 算符优先)...
- Oracle数据库设计要做到五戒
- 【用word快速输入公式】希腊字母名称和大小写
- MTK 驱动开发(39)--低功耗分析工具
- python编写图像识别_python实现识别相似图片小结
- js 对一个字段去重_js正则去重及(?=)的匹配规则
- vue2.0路由(跳转和传参)经典介绍
- 前端避免XSS(跨站脚本攻击)
- 《数学之美》阅读笔记(持续更新……)
- C语言实例——荷兰国旗问题
- Windows下使用C++(Win32SDK)编程无需提权读取硬盘序列号(XP、Win7和Win10都可用)
- 统一软件开发过程(RUP)的概念和方法
- 【U盘量产】你的U盘坏了吗
- war3 魔兽争霸3 双开 多开 联机 补丁 工具
- python 序列去重并保持原始顺序
- Rollup-前端模块化打包工具入门
- 组件分享之后端组件——基于Golang语言的游戏服务器框架leaf
- 嵌入层(Embedding Layer)与词向量(Word Embedding)详解
- jQuery_02 快速入门 $作用和方法