最近在入门图像识别,自然也会用到深度学习框架,也接触到了一个新的数据结构——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)]](https://img-blog.csdnimg.cn/2020082515373580.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzQzNDIwMg==,size_16,color_FFFFFF,t_70#pic_center)
2、通过元组创建

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

np.random.randn(m,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

上面这些创建及转化的方法只是一部分,也算是比较常用的一些,除此之外比如还可以通过列表作为中间介质进行转换等等,这里就不在过多介绍啦。
关注公众号【奶糖猫】获取更多精彩好文