【深度學習】array, list, tensor,Dataframe,Series之間互相轉換總結

2021-12-23 機器學習初學者

一、前言

對於在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})

獲取一折本站知識星球優惠券,複製連結直接打開:

https://t.zsxq.com/yFQV7am

本站qq群1003271085。

加入微信群請掃碼進群:

相關焦點

  • array, list, tensor,Dataframe,Series之間互相轉換總結
    ,這次想把這些常用的轉換做一個總結,方便以後看。對於dataframe來說,我們列印出來,結構類似於一個二維矩陣格式,只是每一列和每一個行都有個index,這並且這些結構之間有很多方便的操作,在讀入結構化數據的時候尤為方便,所以平時做偏結構化數據的時候, 比如excel、pickle等等,pandas的使用是繞不開的。
  • 【串講總結】array, list, tensor,Dataframe,Series之間互相轉換總結
    一、前言對於在Deep Learning的學習中總會有幾個數據類型的轉換,這次想把這些常用的轉換做一個總結
  • 總結 | DataFrame、Series、array、tensor的創建及相互轉化
    最近在入門圖像識別,自然也會用到深度學習框架,也接觸到了一個新的數據結構——tensor(張量)。
  • 騰訊Python大佬總結 | DataFrame、Series、array、tensor的創建及相互轉化
    最近在入門圖像識別,自然也會用到深度學習框架,也接觸到了一個新的數據結構——tensor(張量)。除此之外,也有一些很常用的數據結構,比如DataFrame、Series、array等,這篇文章主要對這幾種數據結構的創建及相互轉換做一個小總結。
  • Python: List, DataFrame, Excel之間的數據轉換代碼分享
    本期和大家聊一聊在python中,List, DataFrame, Excel之間數據格式進行轉換的python代碼。
  • 應用深度學習使用 Tensorflow 對音頻進行分類
    在視覺和語言領域的深度學習方面取得了很多進展,文中一步步說明當我們處理音頻數據時,使用了哪些類型的模型和流程。
  • pandas入門:Series、DataFrame、Index基本操作都有了!
    創建Series對象的函數是Series,它的主要參數是data和index,其基本語法格式如下。class pandas.Series(data=None, index=None, dtype=None, name=None, copy=False, fastpath=False)data:接收array或dict。表示接收的數據。
  • 【深度學習】利用深度學習進行時間序列預測
    現在,我們可以看看如何使用這個函數以及通過轉換得到的結果。def reduced_data(df,stars):    '''    Function to automatically reduced a dataset     @param df: (pandas dataframe) 包含所有數據的dataframe    @param stars: (list
  • NumPy中的ndarray與Pandas的Series和DataFrame之間的區別與轉換
    在數據分析中,經常涉及numpy中的ndarray對象與pandas的Series和DataFrame對象之間的轉換,讓一些開發者產生了困惑。本文將簡單介紹這三種數據類型,並以金融市場數據為例,給出相關對象之間轉換的具體示例。
  • 利用深度學習進行時間序列預測
    現在,我們可以看看如何使用這個函數以及通過轉換得到的結果。def reduced_data(df,stars):    '''    Function to automatically reduced a dataset     @param df: (pandas dataframe) 包含所有數據的dataframe    @param stars: (list
  • Pandas-DataFrame基礎知識點總結
    根據字典創建data = {    'state':['Ohio','Ohio','Ohio','Nevada','Nevada'],    'year':[2000,2001,2002,2001,2002],    'pop':[1.5,1.7,3.6,2.4,2.9]}frame = pd.DataFrame(data)frame#輸出    pop state
  • 深度學習數據分析好搭檔!12個高頻使用的Numpy和Pandas函數
    ,用於從平面文件 (CSV 和 delimited)、 Excel 文件、資料庫中加在數據,以及從 HDF5 格式中保存 / 加載數據;時間序列的特定功能: 數據範圍的生成以及頻率轉換、移動窗口統計、數據移動和滯後等。
  • 使用Tensorflow+OpenCV構建會玩石頭剪刀布的AI
    在構建任何類型的深度學習應用程式時,有三個主要步驟:整個項目都引用了我的Github repo,並與之攜手並進,所以請做好參考準備。項目地址:https://github.com/HOD101s/RockPaperScissor-AI-收集我們的數據
  • pandas:Series , Data Frame , Panel
    它是最常用的pandas對象之一,可接受不同類型的輸入,如Dict of 1D ndarray、list、Dict或Series;2-D numpy.ndarray;有組織的或有記錄的序列。., 'B':pd.Timestamp('20180901'), 'C':pd.Series(1,index=range(4),dtype='float'), 'D':np.array([3]*4,dtype='int'), 'E':pd.Categorical(['test','train','test','train']),
  • Pandas常用數據結構DataFrame詳細教程
    一、創建 由數組/list組成的字典創建Dataframe,columns為字典key,index為默認數字標籤,字典的值的長度必須保持一致2、df.loc[] - 按index選擇行3、df.iloc[] - 按照整數位置(從軸的0到length-1)選擇行類似list的索引,其順序就是dataframe的整數位置,從0開始計4、
  • Python基礎|常用的Series 和 Dataframe處理方法
    點擊 風控圏子 關注並星標每天早上8點半一起實現自我增值我們在Series 和 Dataframe
  • TensorTrade:基於深度強化學習的Python交易框架
    實際上,SimulatedExchange只需要一個data_frame的價格歷史記錄來生成它的模擬。這個data_frame可以由編碼的實現(如FBMExchange)提供,也可以在運行時提供:Feature Pipelines用於將環境中的觀察結果轉換為有意義的特徵,供
  • R語言基本功:vector,factor,list,matrix以及dataframe
    今天介紹R語言的幾個核心概念:vector,factor,list, matrix與dataframe。R語言中的vector主要包含三種類型,如數值型,字符型,邏輯型。mymatrix <- matrix(1:9, nrow = 3, ncol = 3, byrow = TRUE)mymatrix [,1] [,2] [,3][1,] 1 2 3[2,] 4 5 6[3,] 7 8 9dataframe
  • 【python學習小知識】求絕對值和numpy和tensor的相互轉換
    收錄於話題 #深度學習求絕對值的三種方法1.條件判斷2.內置函數abs()3.內置模塊 math.fabs1、條件判段,判斷大於0還是小於0,小於0則輸出相反數即可def abs_value1(): a = float(input('1.請輸入一個數字:')) if a >= 0: a = a els