python的shape和reshape_一文浅显易懂:Python中shape()和reshape()的用法和区别
shape :英文翻译为 形状
在矩阵中是读取矩阵的行数和列数的信息。
reshape : 英语翻译为 重塑、改变…的形状
在矩阵中是改变数组arr的矩阵形式。
代码在Python3.6版本或者Pycharm上运行。
1、shape的用法
import numpy as np
a = np.array([1,2,3,4,4,3,2,8]) #一维数组
a1 = np.array([[1,2,3,4],[4,3,2,8]]) #二维数组
print(a.shape[0]) #值为8,因为有8个数据
print(a1.shape[0]) #值为2(2行)
print(a1.shape[1]) #值为4(4列)
由上代码可以看出:
一维数组的时候:shape是读取数组的数据个数。
二维数组的时候:shape[0]读取的是矩阵的行数,shape[1]读取的是矩阵的列数。
2、reshape的用法
import numpy as np
a = np.array([1,2,3,4,4,3,2,8]) #一维数组
print(a.reshape(2,4) )
#输出结果为:[[1 2 3 4]
# [4 3 2 8]]
print(a.reshape(3,3))
#ValueError: cannot reshape array of size 8 into shape (3,3)
由上列代码可以看出:
reshape(m,n)将原矩阵改变为m行n列的新矩阵,但是新矩阵数据如果超过了原来数据的索引范围就会报错。
3、shape和reshape混合使用的例子:
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from matplotlib.font_manager import FontProperties #导入字体属性模块
font_set = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=20) #设置字体为宋体
def runplt(): #设置生成画图的函数
plt.figure() # 定义figure
plt.title(u'披萨的价格和直径', fontproperties=font_set)
plt.xlabel(u'直径(inch)', fontproperties=font_set)
plt.ylabel(u'价格(美元)', fontproperties=font_set)
plt.axis([0, 25, 0, 25])
plt.grid(True) #画网格线
return plt
# 训练集和测试集数据
X_train = [[6], [8], [10], [14], [18]]
y_train = [[7], [9], [13], [17.5], [18]]
X_test = [[7], [9], [11], [15]]
y_test = [[8], [12], [15], [18]]
# 画出横纵坐标以及若干散点图
plt1 = runplt()
plt1.scatter(X_train, y_train, s=40) #每个点的size是40
# 给出一些点,并画出线性回归的曲线
xx = np.linspace(0, 26, 100) #0-26之间等间隔生成100个点作为XX的横轴
regressor = LinearRegression()
regressor.fit(X_train, y_train)
yy = regressor.predict(xx.reshape(xx.shape[0], 1)) #预测100个点的横坐标得到yy
#shape[0] 第一维(行)的长度(行数)
#shape[1]为列数
#reshape((2,4)) 改成2行4列矩阵
plt.plot(xx, yy, label="linear equation")
原文链接:https://blog.csdn.net/guangwulv/article/details/107897536
python的shape和reshape_一文浅显易懂:Python中shape()和reshape()的用法和区别相关推荐
- python list转换成array_一文掌握Python【不定期更新】
目录 一.Numpy 1 基本操作 2 随机数 3 打乱训练数据 4 得到元素的最值 5 拼接数组 6 得到函数的信息 7 得到累乘即各项相乘的结果 8 判断一个数是否在数组中 9 数组的变换 10 ...
- python 类变量、实例变量、参数、实例方法、类方法、静态方法 的用法和区别
#!/usr/bin/env python # -*- encoding: utf-8 -*- """ @Introduce : 类变量.实例变量.参数.实例方法.类方法 ...
- python office自动化_Python office automation:文档,python,自动化,办公,文件,篇,整理,一键,完成...
文件整理不得不先提一下正则表达式 送上链接: python :re模块基本用法 一.列出文件夹下的所有文件 os.walk()用法 [ (当前目录列表),(子目录列表),(文件列表)]os.walk( ...
- python 列表生成式_深度好文:Python之列表生成式、生成器、可迭代对象与迭代器(一)...
作者:云游道士 原文:https://www.cnblogs.com/yyds/p/6281453.html 本节内容 语法糖的概念 列表生成式 生成器(Generator) 可迭代对象(Iterab ...
- python request下载word,下载word文档python
对于我的课程,我必须建立一个网络刮板,它可以浏览img,word文档和pdf的网站并将它们下载到一个文件中,我有img的下载工作,但当我将代码改为下载docs或pdf时,它根本找不到任何东西,我使用b ...
- python两个等于号是代表什么_Python中is与双等于号“==”的区别
Python有两个用于相等比较的运算符,"is"和"=="(等于).在这篇文章中,我将带你们了解Python中"is"和"==&q ...
- thymeleaf文档_springboot中Thymeleaf和Freemarker模板引擎的区别
这两个都是属于模板引擎,可是各有各的好处,enn,在市面上比较多的也就是jsp.freemarker.velocity.thymeleaf等页面方案.Thymeleaf和Freemarker的区别Fr ...
- python判断字符串是否为回文if语句_如何python判断字符串是否为回文?
如何python判断字符串是否为回文? python判断字符串是否为回文的方法: 1.回文字符串:一个字符串,不论是从左往右,还是从右往左,字符的顺序都是一样的(如abba,abcba等). 2.如何 ...
- python程序员专用壁纸_程序员炫技必备:用Python生成马赛克画!(文末附源码)...
原标题:程序员炫技必备:用Python生成马赛克画!(文末附源码) 源 | Python与数据分析文 | 强哥 大家知道马赛克画是什么吗?不是动作片里的马赛克哦~~ 马赛克画是一张由小图拼成的大图,本 ...
- Python实现自动化办公(三):Python对PPT文档的基本操作(python-pptx)
Python对PPT文档的基本操作 文章目录 Python对PPT文档的基本操作 一.pptx模块 1.官方文档 2.安装pptx模块 二.基本函数的使用方法 三.使用案例 1.修改ppt内容 2.写 ...
最新文章
- 图像金字塔与resize函数
- 电路交换-报文交换-分组交换- 分组交换包括:虚电路和数据报
- python不能加密_Python之加密模块
- 【C++】C++的拷贝控制
- [Android] TextView 分页功能的实现
- js实时获取窗口大小变化
- NLP技术基石:从N-gram统计语言模型到BERT预训练模型演变史概述
- 在ASP中常见的错误80004005信息和解决办法
- 宏基笔记本升级bios(2012-12-28-bd 写的日志迁移
- 美赛常用数据库网站大全
- c++实验3——个人税收计算器
- 【小月电子】国产安路FPGA开发板系统学习教程-LESSON9简易测试系统
- 怎样调整计算机桌面字体大小,如何把电脑字体调小?教你怎么调整电脑屏幕的字体大小...
- 梦行扫码付(收银台条码支付 微信钱包条码支付 支付宝二维码支付 手机APP钱包支付 PHP扫码支付 )
- 绕过AMSI详细指南:如何利用DLL hijack轻松绕过AMSI
- sql数据库本地服务器不显示,sql数据库本地服务器不显示
- 收好了,这些max工作效率的学习资源,赶紧用起来
- 2022年最新广西道路运输安全员真题题库及答案
- $(function() {})是什么?
- 【机器学习代码例】LSSVM,python代码实例