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=psDataFrame({“年”:(2015年,2016年),“月”:(2,3),“天”:(4,5]})> > >psto_datetime(df)0 2015-02-041 2016-03-05dtype: datetime64 (ns)

如果日期不符合時間戳的局限性,通過錯誤=“忽略”將返回原始輸入,而不是提高任何例外。

通過錯誤=“強迫”將迫使一個界外日期NaT,除了迫使non-dates NaT(或non-parseable日期)。

> > >psto_datetime(“13000101”,格式=' % Y % m% d,錯誤=“忽略”)datetime。datetime(1300年,1,1,0,0)> > >psto_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(psto_datetime(年代,infer_datetime_format=真正的)),數量=1)0.35832712500000063
> > >時間時間(λ:repr(psto_datetime(年代,infer_datetime_format=)),數量=1)0.8895321660000004

使用unix新紀元

> > >psto_datetime(1490195805,單位=“年代”)時間戳(“2017-03-22 15:16:45”)> > >psto_datetime(1490195805433502912,單位=“ns”)時間戳(“2017-03-22 15:16:45.433502912”)

使用非unix新紀元

> > >psto_datetime([1,2,3),單位=' D ',起源=pd時間戳(“1960-01-01”))DatetimeIndex ([“1960-01-02”,“1960-01-03”,“1960-01-04”], dtype =“datetime64 (ns)”,頻率=沒有)