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)”,频率=没有)