in core/maxframe/dataframe/tseries/to_datetime.py [0:0]
def __call__(self, arg):
if is_scalar(arg):
ret = pd.to_datetime(
arg,
errors=self.errors,
dayfirst=self.dayfirst,
yearfirst=self.yearfirst,
utc=self.utc,
format=self.format,
exact=self.exact,
unit=self.unit,
infer_datetime_format=self.infer_datetime_format,
origin=self.origin,
cache=self.cache,
)
return astensor(ret)
dtype = np.datetime64(1, "ns").dtype
if isinstance(arg, (pd.Series, SERIES_TYPE)):
arg = asseries(arg)
return self.new_series(
[arg],
shape=arg.shape,
dtype=dtype,
index_value=arg.index_value,
name=arg.name,
)
if is_dict_like(arg) or isinstance(arg, DATAFRAME_TYPE):
arg = asdataframe(arg)
columns = arg.columns_value.to_pandas().tolist()
if sorted(columns) != sorted(["year", "month", "day"]):
missing = ",".join(
c for c in ["day", "month", "year"] if c not in columns
)
raise ValueError(
"to assemble mappings requires at least "
f"that [year, month, day] be specified: [{missing}] is missing"
)
return self.new_series(
[arg], shape=(arg.shape[0],), dtype=dtype, index_value=arg.index_value
)
elif isinstance(arg, (pd.Index, INDEX_TYPE)):
arg = asindex(arg)
return self.new_index(
[arg],
shape=arg.shape,
dtype=dtype,
index_value=parse_index(pd.Index([], dtype=dtype), self._params, arg),
name=arg.name,
)
else:
arg = astensor(arg)
if arg.ndim != 1:
raise TypeError(
"arg must be a string, datetime, "
"list, tuple, 1-d tensor, or Series"
)
return self.new_index(
[arg],
shape=arg.shape,
dtype=dtype,
index_value=parse_index(pd.Index([], dtype=dtype), self._params, arg),
)