def test_coerce_infer_columns_with_unit(self): table = pd.DataFrame( {"A": [pd.Period("2021-01-01", freq="D"), None], "B": ["x", "y"]} ) result = ProcessResult.coerce( {"dataframe": table, "column_formats": {"A": "year"}} ) self.assertEqual( result.columns, [ Column("A", ColumnType.Date(unit="year")), Column("B", ColumnType.Text()), ], )
def test_ctor_infer_columns(self): result = ProcessResult( pd.DataFrame( { "A": [1, 2], "B": ["x", "y"], "C": [np.nan, dt(2019, 3, 3, 4, 5, 6, 7)], "D": [pd.Period("2021-01-01", freq="D"), pd.NaT], } ) ) self.assertEqual( result.columns, [ Column("A", ColumnType.Number()), Column("B", ColumnType.Text()), Column("C", ColumnType.Timestamp()), Column("D", ColumnType.Date("day")), ], )
def test_dataframe_date_column(self): self._test_dataframe_to_arrow_table( pd.DataFrame({"A": [pd.Period("2021-04-01", freq="D"), None]}), [Column("A", ColumnType.Date(unit="month"))], make_table(make_column("A", [date(2021, 4, 1), None], unit="month")), )