R-lubridate-ymd-Function-In-Python.-Convert-Integer-To-Date.jpg

在Python重建R語言lubridate套件的ymd,將數字轉換為日期

目錄

    原始文章

    在Python重建R語言lubridate套件的ymd,將數字轉換為日期


    原始文章

    〈在Python重建R語言lubridate套件的ymd,將數字轉換為日期〉

    許多Python使用者都曾抱怨datetime套件不好用,語法繁瑣而且不直覺,不像R語言中的lubridate這麼簡單好用,ymd()甚至可以直接將數字轉為日期,像是20200101變成2020-01-01。雖然Python中也有改良版的日期套件,像是arrow,但基於一個「除非超級必要,否則不使用額外套件」的原則,我個人還是習慣在datetime的基礎上,寫一些方便使用的function,並累積成自己的toolkit,可以參考另一篇文章〈在Python中載入自己寫的套件/模組/包/Library/Modules〉

    def str_replace_special(string, value=''):
        '''
        Remove special characters.
        '''
        import re
        results = re.sub('[^a-zA-Z0-9 \n\.]', value, string) 
    return results
    
    
    def ymd(series):
        '''
        Convert integer to date.
        '''
        if isinstance(series, str):
            series = str_replace_special(series)
    
        if isinstance(series, int) | isinstance(series, str):
            series = str(series)
            series = datetime.datetime(year = int(series[0:4]), 
                                       month = int(series[4:6]), 
                                       day = int(series[6:8]))
    
        return series

    推薦文章

    〈在DataCamp學Python和R語言,快速入門資料科學〉



    推薦文章

    Aron

    工業設計系畢業,曾任職知名品牌行銷企劃,做點設計,寫文案也寫網站;目前擔任零售業數據分析師。最近開始研究Python量化投資和虛擬貨幣。

    facebook telegram
    Content Protection by DMCA.com

    發佈留言

    • * 表示必填欄位
    • 您填寫的電子郵件不會被公開
    • 請確認您的電子郵件正確無誤,當您的留言收到新的回覆時,我們會寄送通知信件給您

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