Typed Wrappers over Pandas DataFrames with schema validation
Project description
🐍 typedframe
Typed wrappers over pandas DataFrames with schema validation.
TypedDataFrame
is a lightweight wrapper over pandas.DataFrame
that provides runtime schema validation and can be used to establish strong data contracts between interfaces in your Python code.
>>> from typedframe import TypedDataFrame, DATE_TIME_DTYPE
>>> class MyTable(TypedDataFrame):
... schema = {
... "col1": object, # str
... "col2": np.int32,
... "col3": ('foo', 'bar')
... }
... optional = {
... "col4": bool,
"col5": DATE_TIME_DTYPE
... }
>>> df = pd.DataFrame({"col1": ['foo'], "col2": np.array([1], dtype=np.int32), "col3": ['bar']})
>>> df.col3 = pd.Categorical(df.col3, categories=('foo', 'bar'), ordered=True)
>>> print(MyTable(df).df)
Supported Data Types
- Integers:
np.int16
,np.int32
,np.int64
, etc. - Floats:
np.float16
,np.float32
,np.float64
, etc. - Boolean:
bool
- String:
STRING_DTYPE
- Python object:
object
- Categorical:
category
- Date, Datetime:
DATE_TIME_DTYPE
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
typedframe-0.4.0.tar.gz
(4.2 kB
view hashes)
Built Distribution
Close
Hashes for typedframe-0.4.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5a8f44b9204699d8811c3e39b119263e68b6100c1e03f14adb955dd5ee951e1 |
|
MD5 | daf5fe3902333b33f796e7f8d7b3481a |
|
BLAKE2b-256 | c0af6e7c522d129c6095cdd32e167cd366430166b896be0292b331411cb64f99 |