pyspark.pandas.to_datetime¶
-
pyspark.pandas。
to_datetime
( 參數,錯誤:str=“提高”,格式:可選(str]=沒有一個,單位:可選(str]=沒有一個,infer_datetime_format:bool=假,起源:str=“unix” ) ¶ -
將參數轉換為日期時間。
- 參數
-
- 參數 整數、浮點數、字符串、日期時間、列表、元組、一維數組,係列
-
或DataFrame / dict-like
- 錯誤 {“忽略”,“提高”,“強迫”},默認“提高”
-
如果“提高”,無效的解析將引發一個異常
如果“強迫”,無效的解析將設置為NaT
如果“忽略”,那麼將返回輸入無效的解析
- 格式 字符串,默認沒有
-
strftime解析時間,如“% d / Y % m / %”,注意“% f”將解析到納秒。
- 單位 字符串,默認沒有
-
單元的參數(D,年代,女士,我們,ns)表示,這是一個整數或浮點數的數字。這將是基於原點。例子中,與單位=‘女士’和起源=“unix”(默認),這將計算的毫秒數unix新紀元的開始。
- infer_datetime_format 布爾,默認的錯誤
-
如果這是真的,沒有格式,試圖推斷的datetime格式字符串,如果它可以推斷出,切換到速度的解析方法。在某些情況下,這可以提高解析速度~渲染性能。
- 起源 標量,默認“unix”
-
定義參考數據。數值將被解析為單位(定義為單位自這個引用日期)。
如果“unix”(POSIX)時間;原點設置為1970-01-01。
如果“朱利安”,單位必須' D ',起源將公曆的開始。儒略日0數量分配到第二天中午1月1日開始,公元前4713年。
如果時間戳轉換,原點將時間戳被起源。
- 返回
-
- 受潮濕腐爛 datetime如果解析成功。
-
返回類型取決於輸入:
類似:DatetimeIndex
係列:一係列datetime64 dtype
標量:時間戳
以防當它是不可能返回指定類型(例如,當任何元素的輸入在時間戳。分鍾或Timestamp.max)後返回將datetime。datetime類型(或相應的數組/係列)。
例子
組裝一個datetime DataFrame多個列。鍵可以等常用縮寫(“年”、“月”,“天”,“分”,“秒”,“女士”,“我們”,“ns”])或複數相同的
> > >df=ps。DataFrame({“年”:(2015年,2016年),…“月”:(2,3),…“天”:(4,5]})> > >ps。to_datetime(df)0 2015-02-041 2016-03-05dtype: datetime64 (ns)
如果日期不符合時間戳的局限性,通過錯誤=“忽略”將返回原始輸入,而不是提高任何例外。
通過錯誤=“強迫”將迫使一個界外日期NaT,除了迫使non-dates NaT(或non-parseable日期)。
> > >ps。to_datetime(“13000101”,格式=' % Y % m% d”,錯誤=“忽略”)datetime。datetime(1300年,1,1,0,0)> > >ps。to_datetime(“13000101”,格式=' % Y % m% d”,錯誤=“強迫”)NaT
傳遞infer_datetime_format = True可以經常加速解析如果它不是一個ISO8601格式,但在一個常規的格式。
> > >年代=ps。係列([“3/11/2000”,“3/12/2000”,“3/13/2000”]*1000年)> > >年代。頭()0 3/11/20001 3/12/20002 3/13/20003 3/11/20004 3/12/2000dtype:對象
> > >進口時間> > >時間。時間(…λ:repr(ps。to_datetime(年代,infer_datetime_format=真正的)),…數量=1)0.35832712500000063
> > >時間。時間(…λ:repr(ps。to_datetime(年代,infer_datetime_format=假)),…數量=1)0.8895321660000004
使用unix新紀元
> > >ps。to_datetime(1490195805,單位=“年代”)時間戳(“2017-03-22 15:16:45”)> > >ps。to_datetime(1490195805433502912,單位=“ns”)時間戳(“2017-03-22 15:16:45.433502912”)
使用非unix新紀元
> > >ps。to_datetime([1,2,3),單位=' D ',起源=pd。時間戳(“1960-01-01”))DatetimeIndex ([“1960-01-02”,“1960-01-03”,“1960-01-04”], dtype =“datetime64 (ns)”,頻率=沒有)