专栏首页NaiTMao_机器学习总结 | DataFrame、Series、array、tensor的创建及相互转化
原创

总结 | DataFrame、Series、array、tensor的创建及相互转化

最近在入门图像识别,自然也会用到深度学习框架,也接触到了一个新的数据结构——tensor(张量)。除此之外,也有一些很常用的数据结构,比如DataFrame、Series、array等,这篇文章主要对这几种数据结构的创建及相互转换做一个小总结。

创建方法

DataFrame

这里就不在单独贴出每种数据结构的示例图,只是简单描述一下各个数据结构的特点。DataFrame类似于一个二维矩阵,但它的行列都有对应的索引。

DataFrame创建方法很多,这里给出比较常用的三种方法:

1、通过字典创建
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XsSkX9AG-1598341036171)(https://imgkr2.cn-bj.ufileos.com/07c1cfa7-a627-4bfc-9f12-1dcd63cc9df1.jpg?UCloudPublicKey=TOKEN_8d8b72be-579a-4e83-bfd0-5f6ce1546f13&Signature=I43ydHxuO1%252BIcoS2z%252BOIQDNsiqk%253D&Expires=1597642858)]
2、通过元组创建
在这里插入图片描述

原理与通过字典创建一致,但需要注意行、列索引需要自己指定。

3、randn随机生成
在这里插入图片描述

np.random.randn(m,n)是生成一个 $m\times n$规格的矩阵,行列索引需要自己指定。

Series

Series 可以当成 DataFrame 中一个元素,一列索引对应一列值。

1、通过字典创建
在这里插入图片描述
2、通过列表创建
在这里插入图片描述
3、通过arange创建
在这里插入图片描述

array

在这里插入图片描述

tensor

在这里插入图片描述

这里 Tensor 是类,tensor 和 as_tensor则是方法,第一种生成的是浮点型,后两种生成数据的类型和传入数据类型一致,也就是说传入整型生成整型,传入浮点型生成浮点型。

转化

DataFrame 拆解 Series

在这里插入图片描述

索引出的单行或者单列的数据类型为Series。

DataFrame 转 array

1、直接获取values
在这里插入图片描述
2、通过numpy转换
在这里插入图片描述

Series 转 DataFrame

1、合成
在这里插入图片描述
2、to_frame()
在这里插入图片描述

Series 转 array

方法同DataFrame 转 array。

在这里插入图片描述

array 转 DataFrame

在这里插入图片描述

array 转 Series

在这里插入图片描述

array 转 tensor

在这里插入图片描述

tensor 转 array

在这里插入图片描述

上面这些创建及转化的方法只是一部分,也算是比较常用的一些,除此之外比如还可以通过列表作为中间介质进行转换等等,这里就不在过多介绍啦。

关注公众号【奶糖猫】获取更多精彩好文

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python的循环、判断和各种表达式(长文系列第二篇)

    流程控制是python语法很重要的一个分支,主要包括我们经常用到的判断语句、循环语句以及各种表达式,这也是上一篇文章没有介绍表达式的原因,在这篇文章中会更加系统...

    奶糖猫
  • 机器学习笔记(八)——随机梯度上升(下降)算法调优

    上一篇文章对逻辑回归的原理和基本思想做了一些简要介绍,并通过引入Sigmoid函数和梯度公式成功推导出了梯度上升和梯度下降公式,上文分类实例是依据全批量提升上升...

    奶糖猫
  • 机器学习笔记(六)——朴素贝叶斯构建一个简易情感分类器

    其中公式推导这一部分较为重要,利用条件概率解决问题也是朴素贝叶斯的基本思想,所以理解贝叶斯准则如何得到,以及如何应用十分重要,也是后期构建算法的基础。

    奶糖猫
  • 全网最全程序员效率工具及小技巧

    ssh命令虽然可以通过密码登陆,但还是比较麻烦,建议配置公钥访问。 先看自己之前是否已经生成了公钥文件,如果没有需要手动生成

    Java识堂
  • VMware搭建Android x86

    原文:https://maoli.blog.csdn.net/article/details/102604277

    润森
  • 搭建自己的技术博客系列(四)博客接入百度统计,随时了解你博客的PV/UV

    黄小斜
  • 【Flutter 混合开发】添加 Flutter 到 Android Fragment

    添加 Flutter 到 Fragment 与添加 Activity 基本一样,如果添加到 Activity 满足需求,建议使用 Activity,因为 Act...

    老孟Flutter
  • 大数据预测世界杯 八种方法谁靠谱

    大数据文摘
  • java的静态工厂方法

    在 Java 中,获得一个类实例最简单的方法就是使用 new 关键字,通过构造函数来实现对象的创建。 就像这样:

    码农王同学
  • 基于深度学习的图像超分辨率方法 总结

    懒得总结,就从一篇综述中选取了一部分基于深度学习的图像超分辨率方法。 原文:基于深度学习的图像超分辨率复原研究进展 作者:孙旭 李晓光 李嘉锋 卓力 北京...

    Natalia_ljq

扫码关注云+社区

领取腾讯云代金券