pandas庫中 DataFrame的用法小結

DataFrame 是一個表格型的數據結構,它含有一組有序的列,每列可以是不同的值類型(數值、字符串、佈爾型值)。DataFrame 既有行索引也有列索引,它可以被看做由 Series 組成的字典(共同用一個索引)。

利用pandas.DataFrame可以構建表格,通過列標屬性調用列對象

一、構建表格

舉例

import pandas as pd
x = [
        ['PyTorch', '-', '.pt', True, True],
        ['TorchScript', 'torchscript', '.torchscript', True, True],
        ['ONNX', 'onnx', '.onnx', True, True],
        ['OpenVINO', 'openvino', '_openvino_model', True, False],
        ['TensorRT', 'engine', '.engine', False, True],
        ['CoreML', 'coreml', '.mlmodel', True, False],
        ['TensorFlow SavedModel', 'saved_model', '_saved_model', True, True],
        ['TensorFlow GraphDef', 'pb', '.pb', True, True],
        ['TensorFlow Lite', 'tflite', '.tflite', True, False],
        ['TensorFlow Edge TPU', 'edgetpu', '_edgetpu.tflite', False, False],
        ['TensorFlow.js', 'tfjs', '_web_model', False, False],
        ['PaddlePaddle', 'paddle', '_paddle_model', True, True],]
df1 = pd.DataFrame(x, columns=['Format', 'Argument', 'Suffix', 'CPU', 'GPU'])
df2 = pd.DataFrame(x, index=list(['a','b','c','d','e','f','g','q','w','e','r','t']),columns=['Format', 'Argument', 'Suffix', 'CPU', 'GPU'])
print(df1)
print('=======================================')
print(df2)

輸出結果

                   Format     Argument           Suffix    CPU    GPU
0                 PyTorch            –              .pt   True   True
1             TorchScript  torchscript     .torchscript   True   True
2                    ONNX         onnx            .onnx   True   True
3                OpenVINO     openvino  _openvino_model   True  False
4                TensorRT       engine          .engine  False   True
5                  CoreML       coreml         .mlmodel   True  False
6   TensorFlow SavedModel  saved_model     _saved_model   True   True
7     TensorFlow GraphDef           pb              .pb   True   True
8         TensorFlow Lite       tflite          .tflite   True  False
9     TensorFlow Edge TPU      edgetpu  _edgetpu.tflite  False  False
10          TensorFlow.js         tfjs       _web_model  False  False
11           PaddlePaddle       paddle    _paddle_model   True   True
=======================================
                  Format     Argument           Suffix    CPU    GPU
a                PyTorch            –              .pt   True   True
b            TorchScript  torchscript     .torchscript   True   True
c                   ONNX         onnx            .onnx   True   True
d               OpenVINO     openvino  _openvino_model   True  False
e               TensorRT       engine          .engine  False   True
f                 CoreML       coreml         .mlmodel   True  False
g  TensorFlow SavedModel  saved_model     _saved_model   True   True
q    TensorFlow GraphDef           pb              .pb   True   True
w        TensorFlow Lite       tflite          .tflite   True  False
e    TensorFlow Edge TPU      edgetpu  _edgetpu.tflite  False  False
r          TensorFlow.js         tfjs       _web_model  False  False
t           PaddlePaddle       paddle    _paddle_model   True   True

可以看出 index參數為行標設置,columns為列標設置,且都需為列表形式,長度都需要與給出的列表橫列數量一致(例子中的x)。

二、調用列對象和其中的屬性

import pandas as pd
x = [
        ['PyTorch', '-', '.pt', True, True],
        ['TorchScript', 'torchscript', '.torchscript', True, True],
        ['ONNX', 'onnx', '.onnx', True, True],
        ['OpenVINO', 'openvino', '_openvino_model', True, False],
        ['TensorRT', 'engine', '.engine', False, True],
        ['CoreML', 'coreml', '.mlmodel', True, False],
        ['TensorFlow SavedModel', 'saved_model', '_saved_model', True, True],
        ['TensorFlow GraphDef', 'pb', '.pb', True, True],
        ['TensorFlow Lite', 'tflite', '.tflite', True, False],
        ['TensorFlow Edge TPU', 'edgetpu', '_edgetpu.tflite', False, False],
        ['TensorFlow.js', 'tfjs', '_web_model', False, False],
        ['PaddlePaddle', 'paddle', '_paddle_model', True, True],]
df1 = pd.DataFrame(x, columns=['Format', 'Argument', 'Suffix', 'CPU', 'GPU'])
df2 = pd.DataFrame(x, index=list(['a','b','c','d','e','f','g','q','w','e','r','t']),columns=['Format', 'Argument', 'Suffix', 'CPU', 'GPU'])
# print(df1)
# print('=======================================')
# print(df2)
print(df1.Suffix)
print('=====================================')
print(df2.Format)

結合這一中的輸出表看,其輸出結果如下

0                 .pt
1        .torchscript
2               .onnx
3     _openvino_model
4             .engine
5            .mlmodel
6        _saved_model
7                 .pb
8             .tflite
9     _edgetpu.tflite
10         _web_model
11      _paddle_model
Name: Suffix, dtype: object
=====================================
a                  PyTorch
b              TorchScript
c                     ONNX
d                 OpenVINO
e                 TensorRT
f                   CoreML
g    TensorFlow SavedModel
q      TensorFlow GraphDef
w          TensorFlow Lite
e      TensorFlow Edge TPU
r            TensorFlow.js
t             PaddlePaddle
Name: Format, dtype: object

可以看到 輸出的是一個 列的類實例,若繼續調用這個列中的每個元素,可以通過下列語句實現

print(df1.Suffix[0])
print('=====================================')
print(df2.Format[1])
print('=====================================')

通過索引調用,輸出為

.pt
=====================================
TorchScript
=====================================

或者通過該屬性所在的行標進行調用

print(df2.Format['a'])

輸出為 

PyTorch

三、其中的屬性debug

 四、怎麼獲得行

目前還不清楚,上面的debug顯示其不包含具有 行信息的屬性,不過可以通過 values這個屬性來調用行,

 values也是個類實例,其值為numpy矩陣,所以通過矩陣形式調用行,例如 

print(df1.values[0, :])
>>['PyTorch' '-' '.pt' True True]

到此這篇關於pandas庫中 DataFrame的用法的文章就介紹到這瞭,更多相關pandas庫DataFrame用法內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: