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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。