在创建DataFrame的时候常常使用reshape来更改数据的列数和行数。

reshape可以用于numpy库里的ndarray和array结构以及pandas库里面的DataFrame和Series结构。

源数据

reshape函数

reshape(行,列)可以根据指定的数值将数据转换为特定的行数和列数,这个好理解,就是转换成矩阵

然而,在实际使用中,特别是在运用函数的时候,系统经常会提示是否需要对数据使用reshape(1,-1)或者reshape(-1,1)进行转换,那这两个转换是什么意思呢?难道还有-1行的数据?

我们来尝试一下:

使用reshape(-1,1)

在使用了reshape(-1,1)之后,数据集似乎变成了一列,

那这个-1在这里要怎么理解呢?

跟进numpy库官网的介绍,这里的-1被理解为unspecified value,意思是未指定为给定的。

如果我只需要特定的行数,列数多少我无所谓,我只需要指定行数,那么列数直接用-1代替就行了,计算机帮我们算赢有多少列,反之亦然。

所以-1在这里应该可以理解为一个正整数通配符,它代替任何整数。

我们拿刚才的数据来试试看:

由上图可知,指定为-1的时候,其行的数量会根据列的要求自动改变

再提一下转秩 T 和广播机制

【数据分析】reshape(-1,1)和numpy的广播机制相关推荐

  1. Numpy的广播机制详解(broadcasting)

    Numpy的广播机制详解(broadcasting) 广播(Broadcast)是 numpy 对不同形状(shape)的数组进行数值计算的方式, 对数组的算术运算通常在相应的元素上进行. 如果两个数 ...

  2. 详解Numpy的广播机制

    广播 Numpy中有很多强大的功能,广播便是其中之一.广播能帮助你对两个不同维度的数组执行操作.例如: import numpy as np a = np.array([[0, 1],[2, 3],[ ...

  3. Numpy 广播机制(两个不同维度对象进行数学运算)

    1. 数组相加 一个 2*5 维的数组对象和一个 1 维的数组对象进行相加,结果会怎样? In [1]: import numpy as npIn [2]: a = np.arange(10).res ...

  4. Python中的Numpy(4.矩阵操作(算数运算,矩阵积,广播机制))

    1.基本的矩阵操作: '''1.算数运算符:加减乘除''' n1 = np.random.randint(0, 10, size=(4, 5)) print(n1) n2 = n1 + 10 # 对n ...

  5. 【Python数据科学快速入门系列 | 04】Numpy四则运算、矩阵运算和广播机制的爱恨情仇

    这是机器未来的第43篇文章 原文首发地址:https://blog.csdn.net/RobotFutures/article/details/126493989 文章目录 1. 概述 2. 四则运算 ...

  6. 数据分析 第二周 (条形图,散点图,直方图,numpy运算和数组广播机制)笔记

    文章目录 1.烟台市1月与6月日最高气温散点图(散点图) 2.内地票房前五名 上映次日票房比较(单次条形图) 3.内地票房前五名 上映前三日票房比较(多次条形图) 4. 250部经典影片时长统计 5. ...

  7. Python 数据分析与展示笔记1 -- Numpy 基础

    Python 数据分析与展示笔记1 – NumPy 基础 Python 数据分析与展示系列笔记是笔者学习.实践Python 数据分析与展示的相关笔记 课程链接: Python 数据分析与展示 参考文档 ...

  8. python运算学习之Numpy ------ 数组操作:连接数组、拆分数组 、广播机制、结构化数组、文件贮存与读写、np.where、数组去重...

    数组的连接: 1 # 连接数组 2 A = np.zeros((3, 4)) 3 B = np.ones_like(A) 4 print(A, "\n-------分割符--------\n ...

  9. Numpy数组的广播机制

    文章目录 前言 数组广播 广播机制的使用条件 前言 Numpy数组不需要循环遍历,即可对每个元素执行批量的算术运算操作(矢量化运算).当两个数组大小(Numpy.shape)不同时,进行算术运算会出现 ...

最新文章

  1. 英语很差,可能不会阻止你成为一名程序员,但一定会限制你成为一名“优秀的”程序员...
  2. DFS+剪枝 hdu 5113 Black And White
  3. 微信小程序:获取地理定位和显示相应的城市名称。
  4. Oracle数据库查看用户状态
  5. S1.2 Python开发规范指南
  6. 网络流-最大流 dinic+当前弧优化(模板)
  7. docker容器内开启22 ssh_在docker容器中开启ssh服务 (未成功有时间再验证)
  8. Linux解压tar.gz、zip、tar.bz2 文件与对应的命令
  9. 后台模拟页面登陆_模拟炒股软件支付宝同花顺都可以快速体验炒股
  10. Jayrock: JSON and JSON-RPC for .NET
  11. Emacs一个键绑定多个命令
  12. alter table move
  13. 2021年春季 PAT乙级
  14. C语言之动态内存开辟之malloc
  15. 腾讯云对象存储的完整教程,java将文件上传到腾讯云上后返回可以访问的连接
  16. QS2016年全球高等教育系统实力排名 中国排名世界第八亚洲第一
  17. .scss和.css的区别,css - SCSS和Sass有什么区别?
  18. 基于javaweb(springboot+mybatis)网上家具商城项目设计和实现以及文档报告
  19. 如何在Hi3559A上运行自己的YOLOv3模型(五)
  20. 【新】使用setuptools打包Python项目

热门文章

  1. 朱江洪功成身退 朱董配解体谁主格力(图)
  2. 微软公司等数据结构+算法面试100题2010版全部出炉
  3. Linux 查看文件指定行数 内容
  4. Quartz 定时任务(Scheduler)的 3 种实现方式
  5. 手机号码归属地及运营商查询
  6. 用户需求、己、竞争对手的关系
  7. performSegueWithIdentifier:sender里边的sender是啥意思
  8. 第1章 Express MongoDB 搭建多人博客
  9. 时时流量查看工具-ifsta,nload,iftop
  10. Luogu P3975 [TJOI2015]弦论