array, list, tensor,Dataframe,Series之间互相转换总结

简介: array, list, tensor,Dataframe,Series之间互相转换总结

一、前言

对于在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})
目录
相关文章
|
3月前
|
Python
Numpy学习笔记(一):array()、range()、arange()用法
这篇文章是关于NumPy库中array()、range()和arange()函数的用法和区别的介绍。
76 6
Numpy学习笔记(一):array()、range()、arange()用法
Python之pandas:数据类型变换之object、category、bool、int32、int64、float64以及数据类型标准化之详细攻略
Python之pandas:数据类型变换之object、category、bool、int32、int64、float64以及数据类型标准化之详细攻略
Python之pandas:数据类型变换之object、category、bool、int32、int64、float64以及数据类型标准化之详细攻略
|
8月前
|
存储 安全 Java
Python教程第3章 | 集合(List列表、Tuple元组、Dict字典、Set)
Python 列表、无序列表、字典、元组增删改查基本用法和注意事项
120 1
pandas list\dict 转换为DataFrame
pandas list\dict 转换为DataFrame
pandas list\dict 转换为DataFrame
|
Python
dataframe 中float转字符串
要将DataFrame中的浮点数列转换为字符串列,可以使用`astype()`方法将列的数据类型转换为字符串。以下是一个示例: 假设有一个DataFrame `df`,其中包含一个名为`column_name`的浮点数列: ```python import pandas as pd # 示例DataFrame df = pd.DataFrame({'column_name': [1.0, 2.5, 3.2, 4.7]}) # 将浮点数列转换为字符串列 df['column_name'] = df['column_name'].astype(str) # 打印转换后的DataFrame
399 0
|
Python
【Numpy】深入剖析Numpy.arange()与range()的区别
【Numpy】深入剖析Numpy.arange()与range()的区别
172 0
Python应用专题 | 21 :按照len长度过滤pandas中值为list类型的数据
pandas中对于值为list的数据,如果想要根据list的长度进行过滤,如何操作?
|
JSON 数据格式 Python
python:将二维array of float32类型的数据转为float类型
最近在处理wrf数据时,需要将数据转换为json各式,但是json支持的数据类型与python有一些差别,对于一些例如风场的变量往往是float32的格式,而json文件支持的是float的格式,所以需要将其进行转换。
python:将二维array of float32类型的数据转为float类型
|
SQL 分布式计算 关系型数据库
Dataset 和DataFrame 的区别_Row 对象 | 学习笔记
快速学习 Dataset 和DataFrame 的区别_Row 对象
280 0
Dataset 和DataFrame 的区别_Row 对象 | 学习笔记