Skip to content

Commit

Permalink
Fixed the infer_datetime_format deprecation since it will eventually …
Browse files Browse the repository at this point in the history
…be ignored
  • Loading branch information
kennethshsu committed May 13, 2024
1 parent 347d48c commit 6dee2e5
Showing 1 changed file with 4 additions and 5 deletions.
9 changes: 4 additions & 5 deletions chainladder/core/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -231,31 +231,30 @@ def _to_datetime(data, fields, period_end=False, format=None):
target_field = data[fields].astype(str).apply(lambda x: "-".join(x), axis=1)
else:
target_field = data[fields].iloc[:, 0]

if hasattr(target_field, "dt"):
target = target_field
if type(target.iloc[0]) == pd.Period:
return target.dt.to_timestamp(how={1: "e", 0: "s"}[period_end])
else:
datetime_arg = target_field.unique()
# print("datetime_arg", datetime_arg)
format = [{"arg": datetime_arg, "format": format}] if format else []

date_inference_list = format + [
{"arg": datetime_arg, "format": "%Y%m"},
{"arg": datetime_arg, "format": "%Y"},
{"arg": datetime_arg, "format": "%Y-%m-%d"},
# {"arg": datetime_arg, "infer_datetime_format": True},
{"arg": datetime_arg},
]
print("date_inference_list", date_inference_list)
for item in date_inference_list:
print("trying:", item)
try:
arr = dict(zip(datetime_arg, pd.to_datetime(**item)))
break
except:
pass

target = target_field.map(arr)
# print("target", target)

return target

@staticmethod
Expand Down

0 comments on commit 6dee2e5

Please sign in to comment.