| 6083 | |
| 6084 | @wraps(pd.to_datetime) |
| 6085 | def to_datetime(arg, meta=None, **kwargs): |
| 6086 | tz_kwarg = {"tz": "utc"} if kwargs.get("utc") else {} |
| 6087 | |
| 6088 | (arg,) = _maybe_from_pandas([arg]) |
| 6089 | |
| 6090 | if meta is None: |
| 6091 | if isinstance(arg, Index): |
| 6092 | meta = get_meta_library(arg).DatetimeIndex([], **tz_kwarg) |
| 6093 | meta.name = arg.name |
| 6094 | if PANDAS_GE_300: |
| 6095 | meta = meta.as_unit( |
| 6096 | get_meta_library(arg).to_datetime(meta_nonempty(arg._meta)).unit |
| 6097 | ) |
| 6098 | elif not (is_dataframe_like(arg) or is_series_like(arg)): |
| 6099 | raise NotImplementedError( |
| 6100 | "dask.dataframe.to_datetime does not support " |
| 6101 | "non-index-able arguments (like scalars)" |
| 6102 | ) |
| 6103 | else: |
| 6104 | meta = meta_series_constructor(arg)([pd.Timestamp("2000", **tz_kwarg)]) |
| 6105 | meta.index = meta.index.astype(arg.index.dtype) |
| 6106 | meta.index.name = arg.index.name |
| 6107 | else: |
| 6108 | meta = make_meta(meta) |
| 6109 | |
| 6110 | kwargs.pop("infer_datetime_format", None) |
| 6111 | |
| 6112 | return new_collection(ToDatetime(frame=arg, kwargs=kwargs, meta=meta)) |
| 6113 | |
| 6114 | |
| 6115 | @wraps(pd.to_timedelta) |