-
-
Notifications
You must be signed in to change notification settings - Fork 18.7k
Closed
Labels
RegressionFunctionality that used to work in a prior pandas versionFunctionality that used to work in a prior pandas versionSubclassingSubclassing pandas objectsSubclassing pandas objects
Milestone
Description
Example
In [16]: from pandas.tests.frame.test_subclass import MySubclassWithMetadata
In [17]: df = MySubclassWithMetadata.from_records([{'a': 1, 'b': 2}])
In [18]: type(df)
Out[18]: pandas.tests.frame.test_subclass.MySubclassWithMetadata
In [19]: df.my_metadata
...
AttributeError: 'MySubclassWithMetadata' object has no attribute 'my_metadata'
With pandas 2.1.4, this works fine.
The reason for this is because from_records
was updated (#52419) to use
Line 2532 in 5740667
return cls._from_mgr(mgr, axes=mgr.axes) |
instead of cls(mgr)
for the final dataframe construction.
I think this should probably at least use _constructor_from_mgr
instead of _from_mgr
(and maybe even still call the class? because in this case there is not finalize that can be called to finalize the initialization)
robertschweizer
Metadata
Metadata
Assignees
Labels
RegressionFunctionality that used to work in a prior pandas versionFunctionality that used to work in a prior pandas versionSubclassingSubclassing pandas objectsSubclassing pandas objects