一、前言

对于在Deep Learning的学习中总会有几个数据类型的转换,这次想把这些常用的转换做一个总结,方便以后看。

这些主要包括:Dataframe、Series(pandas), array(numpy), list, tensor(torch)

二、定义

2.1 Dataframe和Series

这里简单介绍一下这两个结构。
Dataframe创建的方式有很多种,这里不赘述了。
以下举个例子,因为我们这里要讲的是和array等的转换,这里全都用数字型的元素。


对于dataframe来说,我们打印出来,结构类似于一个二维矩阵格式,只是每一列和每一个行都有个index,这并且这些结构之间有很多方便的操作,在读入结构化数据的时候尤为方便,所以平时做偏结构化数据的时候, 比如excel、pickle等等,pandas的使用是绕不开的。

而其中的series相当于dataframe的一个元素,如下。

Series只有row index,有点类似于一个一维向量。

而DataFrame既有行索引也有列索引,它也可以被看做由Series组成的字典(共同用一个索引

2.2 array

数组结构是由不同维度的list转换来的,用array的原因主要在于有更多的矩阵操作,数据使用起来更方便,比如转置、矩阵相乘、reshape等等。

2.3 tensor

张量是在深度学习框架中的一个数据结构,把数据喂进模型中需要把数据转换为tensor结构,等我们再取出来做框架以外的操作,比如保存成文件,用plot画图,都需要重新转换为array或list结构。

三、互相转换

先用一个例子直观举例下

四、详细总结

4.1 Dataframe到Series

挑一列的index取出

Series = Dataframe['column']

4.2 Series到list

list = Series.to_list()

4.3 list 转 array

array = np.array(list)

4.4 array 转 torch.Tensor

tensor = torch.from_numpy(array)

4.5 torch.Tensor 转 array

array = tensor.numpy()
# gpu情况下需要如下的操作
array = tensor.cpu().numpy()

4.6 torch.Tensor 转 list

# 先转numpy,后转list
list = tensor.numpy().tolist()

4.7 array 转 list

list = array.tolist()

4.8 list 转 torch.Tensor

tensor=torch.Tensor(list)

4.9 array或者list转Series

series = pd.Series({'a': array})
series2 = pd.Series({'a': list})

之后这里的操作就多了,看你具体需求了,也可以多个series拼成一个dataframe, 如下, 其他操作不一一赘述了

df = pd.DataFrame({'aa': series, 'bb': series2})

【串讲总结】array, list, tensor,Dataframe,Series之间互相转换总结相关推荐

  1. python代码转换为pytorch_python基础教程Pytorch之Tensor和Numpy之间的转换的实现方法...

    为什么要相互转换: 1. 要对tensor进行操作,需要先启动一个Session,否则,我们无法对一个tensor比如一个tensor常量重新赋值或是做一些判断操作,所以如果将它转化为numpy数组就 ...

  2. keras自定义simm作为损失函数,并且实现Tensor和数组之间的转换

    ssim介绍 在比较两幅图像误差或者相似度时,常用的衡量方法有MAE和MSE, https://blog.csdn.net/u011875342/article/details/78036380 但是 ...

  3. 【深度学习】array, list, tensor,Dataframe,Series之间互相转换总结

    一.前言 对于在Deep Learning的学习中总会有几个数据类型的转换,这次想把这些常用的转换做一个总结,方便以后看. 这些主要包括:Dataframe.Series(pandas), array ...

  4. CTR经典模型串讲:FM / FFM / 双线性 FFM 相关推导与理解

    CTR 系列文章: 广告点击率(CTR)预测经典模型 GBDT + LR 理解与实践(附数据 + 代码) CTR经典模型串讲:FM / FFM / 双线性 FFM 相关推导与理解 CTR深度学习模型之 ...

  5. 李沐论文精读系列四:CLIP和改进工作串讲(LSeg、GroupViT、VLiD、 GLIPv1、 GLIPv2、CLIPasso)

    文章目录 一.CLIP 1.1 简介 1.1.1 前言 1.1.2 模型结构 1.1.3 模型效果 1.1.3.1 对自然分布偏移的鲁棒性 1.1.3.2 StyleCLIP 1.1.3.3 CLIP ...

  6. 【狂神说】前端进阶串讲笔记总结

    [狂神说]视频学习--前端串讲 这个系列使得我能在 Html + css + js 的基础上,实现对高级框架和工具的知识过渡,特此积累总结. 参考笔记:https://www.kuangstudy.c ...

  7. 前端知识基础之Vue知识点串讲

    一.Vue知识点串讲 复习一下Vue中的核心知识点. 复习完基本的知识点以后,后面再来看一下其它的面试内容 1.基本使用 下面,先来看一段最简单的代码,如下所示: <!DOCTYPE html& ...

  8. 入门经典综述!深度人脸识别算法串讲

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:安晟,Datawhale成员,CV算法工程师 最近看了很多人脸识别 ...

  9. 【串讲总结】RNN、LSTM、GRU、ConvLSTM、ConvGRU、ST-LSTM

    前言 平时很少写总结性的文章,感觉还是需要阶段性总结一些可以串在一起的知识点,所以这次写了下.因为我写的内容主要在时序.时空预测这个方向,所以主要还是把rnn,lstm,gru,convlstm,co ...

最新文章

  1. session_unset()和session_destroy()的区别
  2. 【Git】Git 分支管理 ( 删除远程分支 | 查看远程分支 git branch -a | 删除远程分支 git push origin --delete feature1 )
  3. Ajax与WebGIS
  4. select multiple=multiple 数据回显
  5. ib网卡命令_infiniband网卡安装、使用总结
  6. Quick Audience精准营销之后 良品铺子还将借力阿里云数据中台有更多动作
  7. 在哪里可以找水系图_虹吸雨水排水系统对比传统重力排水,好在哪里?
  8. 练习-用户模块-注册与登陆 190907
  9. 颜色叠加 java_可绘制Android上的颜色叠加
  10. codeM 2018 资格赛
  11. 8.python之面相对象part.6(反射__call__,__setattr__,__delattr__,__getattr__)
  12. 平分七框梨java_php编程- php算法 - 平分七框鱼
  13. 内容太干准备好水:项目进度管理S曲线制作方法新探
  14. android webview 跳转到浏览器,Android WebView或手机浏览器打开连接问题解决办法总结...
  15. python数据挖掘电影评分分析_豆瓣电影数据与票房数据分析
  16. python读取tif图片报错
  17. Linux 设置PS1变量颜色
  18. 机械硬盘与固态硬盘的区别
  19. python螺旋线-利用Python绘制一个正方形螺旋线
  20. koa2 mysql sequelize_[转]使用nodejs-koa2-mysql-sequelize-jwt 实现项目api接口

热门文章

  1. 模电笔记4 场效应管(单极型晶体管) 结型场效应管 绝缘栅型场效应管
  2. UI - 《网店宝贝抠图与店铺装修宝典》之 橡皮擦工具
  3. mount -o remount /system
  4. 【本人拙作】仿网站必备“扒皮”小工具(php脚本)
  5. 你尽管去做,剩下的交给时间
  6. AutoML-第二章-元学习
  7. 一文帮你完美解决Json和Xml相互转换
  8. 微信小程序 使用 TGit管理代码
  9. 【笔记】从 Paxos 到 Zookeeper:第七章 Zookeeper 技术内幕之客户端
  10. Android上实现MobileSSD 实时摄像头检测 - NCNN