Shopping Cart

購物車內沒有任何商品。

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

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

    稱呼

    電子郵件

    以下非必填,但若您願意分享,我們將能推送更精準的內容給您

    投資經驗

    是否為理工科背景、工程師或有寫程式的經驗?

    有興趣的主題
    量化交易台股期貨海外期貨虛擬貨幣美股

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

    想透過量化交易達成甚麼目的?
    不確定自動交易選股回測投資績效量化自己的投資方法想找現成的策略套用

    還有什麼想詢問的?

    20241111 1920 400
    20241111 978 258


    一、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:


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

    加入Discord 「量化交易討論群」即時獲取實用的資源!

    Write Together 101306261122
    Write Together 101306261121
    RoWay
    RoWay

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

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

    文章: 28

    發佈留言

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