-
-
Notifications
You must be signed in to change notification settings - Fork 18.5k
ENH: DataFrame Constructions from Data Classes #37577
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
We already support that in the main DataFrame constructor, right? https://pandas.pydata.org/docs/user_guide/dsintro.html?highlight=dataclass#from-a-list-of-dataclasses |
Wow! It really works. Nice! Well, I guess that an explicit mention of data classes in API reference is neded. I guess that many people (especially mature users) looks up on the reference and do not read user guide intro. |
sure would take updated docs. also could take a PR to import dataclass at the top level (as this was for 3.6 compat before): https://github.com/pandas-dev/pandas/blob/master/pandas/core/dtypes/inference.py#L419 |
Updated the pandas dataframe docstring to include dataclasses together with an example. Please help to provide feedback as it is my first time contributing. #37632 |
Closed by #37632 |
Updated mistakes of the documentation update #37699 |
Is your feature request related to a problem?
I wish to construct
pandas.DataFrame
from iterable ofdataclasses.dataclass
as from iterable of tuplesDataFrame.from_records
. The rationale behind is that data classes is more typed object than general tuple or dictionary. Also, data classes more memory efficient thantuple
's. It makes data classes attractive to use them instead ofdict
's ortuple
's whenever schema is known.Describe the solution you'd like
I would like class method
.from_dataclasses
which allowsDataFrame
construction and type inference from uniform (for simplicity) sequence of data classes. See example below.In the example above schema of
DataFrame
is infered withRecord.__annotations__
dictionary which contains type user provided type information. API could also provide ways to validate schema in runtime by comparying type of actual type and specified type for a column.API breaking implications
There is no API breaking in general but there is requirements to minimum Python version (which is 3.7).
The text was updated successfully, but these errors were encountered: