Dictionary 資料型態的常見基本操作-Python 從零開始(四)

立即訂閱電子報,掌握最新資訊!

    電子郵件

    有興趣的主題
    量化交易金融知識台灣股市國內期貨海外期貨虛擬貨幣

    有興趣的量化交易軟體/平台
    不清楚MultiChartsTradingViewPythonXQMT4MT5

    還有什麼詢問的?

    【早鳥報名中】元富證券 X 量化通 模擬量化交易競賽

    好富投 1920x400
    好富投 978x258

    點我了解更多資訊


    一、Python 資料處理-dictionary 字典資料

    字典 dictionary 也是一種資料型態,它的概念就是來自於字典,用索引的方式儲存資料。就像是查字典一樣經由一個「關鍵字 Key」(字典的字本身),回傳對應的「值 Value」(對於那個字的解釋或是內容)給使用者。

    大概跟大家介紹一下 dictionary的用法與原因,因為 dictionary 的原則就是 key + value,與 list 不同的是,dictionary 是沒有順序的,效率也會比用 list 的 for 迴圈來的好很多,以下大概分成幾個部分跟大家解釋 dictionary的用法。

    1. dictionary 字典的使用方式

    dictionary 使用的方式要用大括號{}裝起來,關鍵字 key 只能是單一的文字(str)或數值(int、float),但對應值 Value 資料型態不限。

    變數 = {關鍵字key:對應值value, 關鍵字key:對應值value}

    a = {'上市公司': '台泥', '股票代碼': '1101' , '日期': '0113' }
    print(type(a))
    
    #也可以這樣使用
    a = {}
    a['上市公司'] = '台泥'
    a['股票代碼'] = '1101'
    print(type(a))

    結果:

    <class 'dict'>
    <class 'dict'>

    Py 101209161710
    Py 101209161711

    二、Pytho 常見的基本 dictionary 使用方式

    1. 查詢關鍵字或對應值
    a = {'上市公司': '台泥', '股票代碼': '1101' , '日期': '0113' } 
    print(a['上市公司']) 
    print(a['股票代碼'])

    結果:

    台泥 
    1101
    1. 查詢所有 key 關鍵字
    a = {'上市公司': '台泥', '股票代碼': '1101' , '日期': '0113' } 
    print(a.keys())

    結果:

    dict_keys(['上市公司', '股票代碼', '日期'])
    1. 查詢所有 value 對應值
    a = {'上市公司': '台泥', '股票代碼': '1101' , '日期': '0113' } 
    print(a.values())

    結果:

    dict_values(['台泥', '1101', '0113'])
    1. 查詢 dictionary 字典長度
    a = {'上市公司': '台泥', '股票代碼': '1101' , '日期': '0113' } 
    print(len(a))

    結果:

    3  # Key/value 算一組
    1. 清空 dictionary 字典的資料
    a = {'上市公司': '台泥', '股票代碼': '1101' , '日期': '0113' } 
    a.clear()  
    print(a)

    結果:

    {}
    1. max(a) : 取得 dictionary 字典最大值
    a = {'上市公司': '台泥', '股票代碼': '1101' , '日期': '0113' } 
    print(max(a))

    結果:

    股票代碼
    1. min(a) : 取得 dictionary 字典最小值
    a = {'上市公司': '台泥', '股票代碼': '1101' , '日期': '0113' } 
    print(min(a))

    結果:

    上市公司

    三、Pytho 進階 dictionary 使用方式

    1. 利用 list 型態轉換取得資料

    這邊跟大家分享個小技巧,如果想要取得 key 的清單,可以直接利用型態轉換來完成。

    a = {'上市公司': '台泥', '股票代碼': '1101' , '日期': '0113' } 
    print(list(a.keys()) ) #獲取 key 串列資料型別

    結果:

    ['上市公司', '股票代碼', '日期']

    反之,value 對應值的清單也是一樣的喔!

    a = {'上市公司': '台泥', '股票代碼': '1101' , '日期': '0113' } 
    print(list(a.values()) ) #獲取 values 串列資料型別

    結果:

    ['台泥', '1101', '0113']
    1. 透過 items 函數,以 list 串列的方式呈現
    a = {'上市公司': '台泥', '股票代碼': '1101' , '日期': '0113' } 
    a.items()
    print(a.items()) 

    結果:

    dict_items([('上市公司', '台泥'), ('股票代碼', '1101'), ('日期', '0113')])
    1. 新增 dictionary 字典資料
    a = {'上市公司': '台泥', '股票代碼': '1101' , '日期': '0113' } 
    a1 = {'市場別': '上市', '產業別':'水泥工業'} 
    a.update(a1)
    print(a)

    結果:

    {'上市公司': '台泥', '股票代碼': '1101', '日期': '0113', '市場別': '上市', '產業別': '水泥工業'}

    除了原本的 a  = {} 的作法外,如果對於字典內容並不是固定的,有一個很好的新增方法。

    a = {'上市公司': '台泥'}
    
    a['股票代碼'] = '1101'
    a['日期'] = '0113'

    結果:

    {'上市公司': '台泥', '股票代碼': '1101', '日期': ' 0113'}
    1. 刪除 key 關鍵字資料
    a = {'上市公司': '台泥', '股票代碼': '1101' , '日期': '0113' } 
    a.pop('上市公司')
    print(a)

    結果:

    {'股票代碼': '1101', '日期': '0113'}

    除了 pop 可以刪除 key,使用 del 也可以刪除。

    a = {'上市公司': '台泥', '股票代碼': '1101' , '日期': '0113' }
    del a["上市公司"]
    
    print(a) 

    結果:

    {'股票代碼': '1101', '日期': '0113'}

    以上就是常見的字典進階操作,雖然一開始不知道會用在什麼時候,但一樣當需要用的時候,再來找就好。不需要去記下所有的使用方式。今天的介紹到這邊,如果有更多的想法,隨時再跟我說囉!

    本系列會從 Python 基本的語法開始介紹,讓沒有程式背景的新手,也能開始用 Python 程式交易。如果你是進階的交易者,可以點擊連結觀看量化通其他 Python 進階文章,認識 爬蟲實用套件資產配置 等內容。

    建議可以照順序閱讀,從零開始學習 Python:

      電子郵件

      有興趣的主題
      量化交易金融知識台灣股市國內期貨海外期貨虛擬貨幣

      有興趣的量化交易軟體/平台
      不清楚MultiChartsTradingViewPythonXQMT4MT5

      還有什麼詢問的?


      量化通粉絲社群,一起討論程式交易!

      加入LINE社群量化交易討論群」無壓力討論與分享!

      加入臉書社團「程式交易 Taiwan」即時獲取實用的資源!

      RoWay
      RoWay

      多年投資經驗的兩岸三地操盤手,曾任海外資產管理公司交易平台的產品經理、與各外商投資公司合作開發各式交易策略與系統。

      擅長用Python執行資料蒐集、整理、分析與交易;也善於用Multicharts、MetaTrader等系統建構並回測期貨、期權、區塊鏈策略進而完成投資組合管理。

      文章: 28

      發佈留言

      發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *