pyspark.pandas.to_datetime
的用法。用法:
pyspark.pandas.to_datetime(arg, errors: str = 'raise', format: Optional[str] = None, unit: Optional[str] = None, infer_datetime_format: bool = False, origin: str = 'unix')
将参数转换为日期时间。
- arg:整数、浮点数、字符串、日期时间、列表、元组、一维数组、系列
或数据帧/dict-like
- errors:{‘ignore’, ‘raise’, ‘coerce’},默认 ‘raise’
如果‘raise’,那么无效解析会引发异常
如果‘coerce’,则无效解析将被设置为NaT
如果‘ignore’,则无效解析将返回输入
- format:字符串,默认无
strftime 来解析时间,例如“%d/%m/%Y”,注意“%f” 将一直解析到纳秒。
- unit:字符串,默认无
arg 的单位 (D,s,ms,us,ns) 表示单位,它是整数或浮点数。这将基于原点。例如,使用 unit='ms' 和 origin='unix'(默认值),这将计算到 unix 纪元开始的毫秒数。
- infer_datetime_format:布尔值,默认为 False
如果 True 并且没有给出
format
,则尝试推断日期时间字符串的格式,如果可以推断,则切换到更快的解析它们的方法。在某些情况下,这可以将解析速度提高约 5-10 倍。- origin:标量,默认 ‘unix’
定义参考日期。自此参考日期以来,数值将被解析为单位数(由
unit
定义)。如果‘unix’(或POSIX)时间;原点设置为 1970-01-01。
如果‘julian’,单位必须为“D”,原点设置为儒略历的开始。儒略日编号 0 分配给从 4713 年 1 月 1 日中午开始的那一天 BC。
如果 Timestamp 可转换,则 origin 设置为由 origin 标识的 Timestamp。
- ret:解析成功时的日期时间。
返回类型取决于输入:
list-like:DatetimeIndex
系列:datetime64 dtype 系列
标量:时间戳
如果无法返回指定类型(例如,当输入的任何元素在 Timestamp.min 之前或 Timestamp.max 之后),返回将具有 datetime.datetime 类型(或相应的数组/系列)。
参数:
返回:
例子:
从 DataFrame 的多列组装日期时间。键可以是常见的缩写,如 [‘year’, ‘month’, ‘day’, ‘minute’, ‘second’, ‘ms’, ‘us’, ‘ns’]) 或相同的复数
>>> df = ps.DataFrame({'year': [2015, 2016], ... 'month': [2, 3], ... 'day': [4, 5]}) >>> ps.to_datetime(df) 0 2015-02-04 1 2016-03-05 dtype: datetime64[ns]
如果日期不符合 timestamp limitations ,则传递 errors='ignore' 将返回原始输入,而不是引发任何异常。
传递 errors='coerce' 将强制 NaT 越界日期,除了强制非日期(或不可解析日期)到 NaT。
>>> ps.to_datetime('13000101', format='%Y%m%d', errors='ignore') datetime.datetime(1300, 1, 1, 0, 0) >>> ps.to_datetime('13000101', format='%Y%m%d', errors='coerce') NaT
传递 infer_datetime_format=True 可以 often-times 加速解析,如果它不是 ISO8601 格式,而是常规格式。
>>> s = ps.Series(['3/11/2000', '3/12/2000', '3/13/2000'] * 1000) >>> s.head() 0 3/11/2000 1 3/12/2000 2 3/13/2000 3 3/11/2000 4 3/12/2000 dtype: object
>>> import timeit >>> timeit.timeit( ... lambda: repr(ps.to_datetime(s, infer_datetime_format=True)), ... number = 1) 0.35832712500000063
>>> timeit.timeit( ... lambda: repr(ps.to_datetime(s, infer_datetime_format=False)), ... number = 1) 0.8895321660000004
使用 unix 纪元时间
>>> ps.to_datetime(1490195805, unit='s') Timestamp('2017-03-22 15:16:45') >>> ps.to_datetime(1490195805433502912, unit='ns') Timestamp('2017-03-22 15:16:45.433502912')
使用非 Unix 纪元起源
>>> ps.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)
相关用法
- Python pyspark to_date用法及代码示例
- Python pyspark to_csv用法及代码示例
- Python pyspark to_utc_timestamp用法及代码示例
- Python pyspark to_json用法及代码示例
- Python pyspark to_timestamp用法及代码示例
- Python pyspark to_avro用法及代码示例
- Python pyspark to_numeric用法及代码示例
- Python pyspark translate用法及代码示例
- Python pyspark transform_keys用法及代码示例
- Python pyspark transform用法及代码示例
- Python pyspark trunc用法及代码示例
- Python pyspark timestamp_seconds用法及代码示例
- Python pyspark transform_values用法及代码示例
- Python pyspark create_map用法及代码示例
- Python pyspark date_add用法及代码示例
- Python pyspark DataFrame.to_latex用法及代码示例
- Python pyspark DataStreamReader.schema用法及代码示例
- Python pyspark MultiIndex.size用法及代码示例
- Python pyspark arrays_overlap用法及代码示例
- Python pyspark Series.asof用法及代码示例
- Python pyspark DataFrame.align用法及代码示例
- Python pyspark Index.is_monotonic_decreasing用法及代码示例
- Python pyspark IsotonicRegression用法及代码示例
- Python pyspark DataFrame.plot.bar用法及代码示例
- Python pyspark DataFrame.to_delta用法及代码示例
注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.pandas.to_datetime。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。