pandas時間序列之pd.to_datetime()的實現(xiàn)
解析來自各種來源和格式的時間序列信息
pd.to_datetime( arg,#int, float, str, datetime, list, tuple, 1-d array, Series DataFrame/dict-like errors='raise',# {'ignore', 'raise', 'coerce'}, default 'raise' dayfirst=False, yearfirst=False, utc=None, format=None,#格式,比如 "%d/%m/%Y" exact=True, unit=None,#單位str, default 'ns',可以是(D,s,ms,us,ns) infer_datetime_format=False, origin='unix',#指定從什么時間開始,默認為19700101 cache=True, )
時間序列解析之小試牛刀
pd.to_datetime()
import datetime import pandas as pd import numpy as np dti = pd.to_datetime(['1/1/2018', np.datetime64('2018-01-01'), datetime.datetime(2018, 1, 1)]) dti
DatetimeIndex([‘2018-01-01’, ‘2018-01-01’, ‘2018-01-01’], dtype=‘datetime64[ns]’, freq=None)
pd.to_datetime(['2020-04-20', '20/04/2020','Apr 20 2020'])
DatetimeIndex([‘2020-04-20’, ‘2020-04-20’, ‘2020-04-20’], dtype=‘datetime64[ns]’, freq=None)
import time time.asctime()
‘Tue Apr 7 21:50:17 2020’
pd.to_datetime(time.asctime())
Timestamp(‘2020-04-07 21:50:17’)
還有更加偷懶的辦法,假如整理數(shù)據(jù)時遇到了大量的時間需要輸入,比如2020-11-11 00:00:00,輸入-和:太浪費時間了,而且時間之間沒有什么變化規(guī)律可循,這種情況下可以直接輸入20201111000000進行記錄,之后再借助pd.to_datetime()解析,省時省力一步到位。
pd.to_datetime('20201111000000')
Timestamp(‘2020-11-11 00:00:00’)
時間序列解析之磨刀霍霍
1. 指定識別的format
pd.to_datetime('2020/12/12', format='%Y/%m/%d')
Timestamp(‘2020-12-12 00:00:00’)
pd.to_datetime('12-11-2010 00:00', format='%d-%m-%Y %H:%M')
Timestamp(‘2010-11-12 00:00:00’)
2. 遇到DataFrame
df = pd.DataFrame({'year': [2015, 2016], ....: 'month': [2, 3], ....: 'day': [4, 5], ....: 'hour': [2, 3]}) df
year month day hour
0 2015 2 4 2
1 2016 3 5 3
pd.to_datetime(df)
0 2015-02-04 02:00:00
1 2016-03-05 03:00:00
dtype: datetime64[ns]
pd.to_datetime(df[['year','month','day']])
0 2015-02-04
1 2016-03-05
dtype: datetime64[ns]
3. 遇到不能識別的處理方法
pd.to_datetime(['2009/07/31', 'asd'], errors='ignore')
Index([‘2009/07/31’, ‘asd’], dtype=‘object’)
pd.to_datetime(['2009/07/31', 'asd'], errors='raise')
ParserError: Unknown string format: asd
pd.to_datetime(['2009/07/31', 'asd'], errors='coerce')
DatetimeIndex([‘2009-07-31’, ‘NaT’], dtype=‘datetime64[ns]’, freq=None)
4. origin的用法
指定時間
pd.to_datetime([1, 2, 3], unit='D', origin=pd.Timestamp('1960-01-01'))
DatetimeIndex([‘1960-01-02', ‘1960-01-03', ‘1960-01-04'], dtype=‘datetime64[ns]', freq=None)
不指定時間則默認從19700101開始
pd.to_datetime([1, 2, 3], unit='D')
DatetimeIndex([‘1970-01-02', ‘1970-01-03', ‘1970-01-04'], dtype=‘datetime64[ns]', freq=None)
到此這篇關于pandas時間序列之pd.to_datetime()的實現(xiàn)的文章就介紹到這了,更多相關pandas pd.to_datetime()內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python解析庫Beautiful?Soup安裝的詳細步驟
Beautiful?Soup是python的一個庫,最主要的功能是從網(wǎng)頁抓取數(shù)據(jù),下面這篇文章主要給大家介紹了關于python解析庫Beautiful?Soup安裝的詳細步驟,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2023-04-04Python數(shù)據(jù)類型之Tuple元組實例詳解
這篇文章主要介紹了Python數(shù)據(jù)類型之Tuple元組,結合實例形式分析了Python元組類型的概念、定義、讀取、連接、判斷等常見操作技巧與相關注意事項,需要的朋友可以參考下2019-05-05python調(diào)用cmd命令時遇到的路徑空格問題和中文亂碼的解決
這篇文章主要介紹了python調(diào)用cmd命令時遇到的路徑空格問題和中文亂碼的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02Python參數(shù)解析器configparser簡介
configparser是python自帶的配置參數(shù)解析器,可以用于解析.config文件中的配置參數(shù),ini文件中由sections(節(jié)點)-key-value組成,這篇文章主要介紹了Python參數(shù)解析器configparser,需要的朋友可以參考下2022-12-12