Skip to content

Supported Data Types

Python type or type annotation NumPy/pandas data type Notes
float float64 Using 32-bit floats is not yet supported.
int If not nullable: int64
If nullable and store_nullable_ints_as_floats = True: float64
If nullable and store_nullable_ints_as_floats = False: Int64 (note to be confused with int64)

store_nullable_ints_as_floats defaults to True.

Using 32-bit integers is not yet supported.

pandas’ Int64 data type (note to be confused with int64) is experimental.

bool If not nullable: bool
If nullable: boolean (not to be confused with bool)
pandas’ boolean data type (not to be confused with bool) is experimental.
datetime.datetime or pandas.Timestamp (with or without tzinfo) datetime64[ns] or datetime64[ns, <tz>]
datetime.date If store_dates_as_timestamps = False: object
If store_dates_as_timestamps = True: datetime64[ns]

store_dates_as_timestamps defaults to False.

pandas has no date data type, but normalized timestamps (with no hour/minute/etc. components) can be used.
datetime.time (with or without tzinfo) object pandas has no time data type.
datetime.timedelta or pandas.Timedelta timedelta64[ns]
str object pandas has no string data type, as they can be of arbitrary length.
uuid.UUID object Storing UUIDs as UUIDs rather than strs is more efficient.
An Enum If store_enum_members_as = "members": object
If store_enum_members_as = "names": object
If store_enum_members_as = "values", then the Numpy/pandas data type depends on the Python type of the enum values.

store_enum_members_as defaults to "members".

Literal[...] The Numpy/pandas data type depends on the Python type of the values.
Other object