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.3.2.tar.gz
(4.1 kB
view hashes)
Built Distribution
Close
Hashes for typedframe-0.3.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12098e4913656bb13480fa88dfee1bb008d9216b5feae2085db6ceb558885acd |
|
MD5 | 74fabe655e768eb10aa356f3ffa2297f |
|
BLAKE2b-256 | 4f899dd1139639ddc6b9f60a974ac4ef2e8f86528f4b886e396f5b390f82f87f |