From c91d545216f777f4ffbee8b602fd3f6e88ee6038 Mon Sep 17 00:00:00 2001 From: mmhangami Date: Fri, 20 Aug 2021 02:11:27 -0700 Subject: [PATCH 1/2] making %f in format return nanoseconds and adding a quick test. --- python/cudf/cudf/core/tools/datetimes.py | 3 ++- python/cudf/cudf/tests/test_datetime.py | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/python/cudf/cudf/core/tools/datetimes.py b/python/cudf/cudf/core/tools/datetimes.py index 946cdcb1ebc..135ac2fbab2 100644 --- a/python/cudf/cudf/core/tools/datetimes.py +++ b/python/cudf/cudf/core/tools/datetimes.py @@ -122,7 +122,8 @@ def to_datetime( if yearfirst: raise NotImplementedError("yearfirst support is not yet implemented") - + if format is not None and '%f' in format: + format = format.replace('%f', '%9f') try: if isinstance(arg, cudf.DataFrame): # we require at least Ymd diff --git a/python/cudf/cudf/tests/test_datetime.py b/python/cudf/cudf/tests/test_datetime.py index 9f19bf8b960..65e87e88f55 100644 --- a/python/cudf/cudf/tests/test_datetime.py +++ b/python/cudf/cudf/tests/test_datetime.py @@ -717,6 +717,7 @@ def test_to_datetime_units(data, unit): (["10/11/2012", "01/01/2010", "07/07/2016", "02/02/2014"], "%m/%d/%Y"), (["10/11/2012", "01/01/2010", "07/07/2016", "02/02/2014"], "%d/%m/%Y"), (["10/11/2012", "01/01/2010", "07/07/2016", "02/02/2014"], None), + (["2021-04-13 12:30:04.123456789"], "%Y-%m-%d %H:%M:%S.%f"), (pd.Series([2015, 2020, 2021]), "%Y"), pytest.param( pd.Series(["1", "2", "1"]), From 1657b11821b02d1dbfdc125c149a16826ec20f03 Mon Sep 17 00:00:00 2001 From: mmhangami Date: Fri, 20 Aug 2021 02:33:30 -0700 Subject: [PATCH 2/2] fix style issues. --- python/cudf/cudf/core/tools/datetimes.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/python/cudf/cudf/core/tools/datetimes.py b/python/cudf/cudf/core/tools/datetimes.py index 135ac2fbab2..4856995b391 100644 --- a/python/cudf/cudf/core/tools/datetimes.py +++ b/python/cudf/cudf/core/tools/datetimes.py @@ -122,8 +122,10 @@ def to_datetime( if yearfirst: raise NotImplementedError("yearfirst support is not yet implemented") - if format is not None and '%f' in format: - format = format.replace('%f', '%9f') + + if format is not None and "%f" in format: + format = format.replace("%f", "%9f") + try: if isinstance(arg, cudf.DataFrame): # we require at least Ymd