From 6ee5f83b467f032f884a52431703ee529e9ae302 Mon Sep 17 00:00:00 2001 From: Alexander Potts Date: Wed, 8 Nov 2023 21:36:26 +1100 Subject: [PATCH] feat: support `date_series.astype("string[pyarrow]")` to cast DATE to STRING --- bigframes/dtypes.py | 2 +- tests/system/small/test_series.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/bigframes/dtypes.py b/bigframes/dtypes.py index 079f0cc27a..cd35e380c0 100644 --- a/bigframes/dtypes.py +++ b/bigframes/dtypes.py @@ -375,7 +375,7 @@ def cast_ibis_value( ), ibis_dtypes.float64: (ibis_dtypes.string, ibis_dtypes.int64), ibis_dtypes.string: (ibis_dtypes.int64, ibis_dtypes.float64), - ibis_dtypes.date: (), + ibis_dtypes.date: (ibis_dtypes.string,), ibis_dtypes.Decimal(precision=38, scale=9): (ibis_dtypes.float64,), ibis_dtypes.Decimal(precision=76, scale=38): (ibis_dtypes.float64,), ibis_dtypes.time: (), diff --git a/tests/system/small/test_series.py b/tests/system/small/test_series.py index c8bd0f7afd..6bb5c4755c 100644 --- a/tests/system/small/test_series.py +++ b/tests/system/small/test_series.py @@ -2498,6 +2498,7 @@ def test_mask_custom_value(scalars_dfs): # with timezone conversions, so we'll allow it. ("timestamp_col", pd.ArrowDtype(pa.timestamp("us"))), ("datetime_col", pd.ArrowDtype(pa.timestamp("us", tz="UTC"))), + ("date_col", "string[pyarrow]"), # TODO(bmil): fix Ibis bug: BigQuery backend rounds to nearest int # ("float64_col", "Int64"), # TODO(bmil): decide whether to fix Ibis bug: BigQuery backend