(self, mgr, axes)
| 665 | return DataFrame |
| 666 | |
| 667 | def _constructor_from_mgr(self, mgr, axes) -> DataFrame: |
| 668 | df = DataFrame._from_mgr(mgr, axes=axes) |
| 669 | |
| 670 | if type(self) is DataFrame: |
| 671 | # This would also work `if self._constructor is DataFrame`, but |
| 672 | # this check is slightly faster, benefiting the most-common case. |
| 673 | return df |
| 674 | |
| 675 | elif type(self).__name__ == "GeoDataFrame": |
| 676 | # Shim until geopandas can override their _constructor_from_mgr |
| 677 | # bc they have different behavior for Managers than for DataFrames |
| 678 | return self._constructor(mgr) |
| 679 | |
| 680 | # We assume that the subclass __init__ knows how to handle a |
| 681 | # pd.DataFrame object. |
| 682 | return self._constructor(df) |
| 683 | |
| 684 | _constructor_sliced: Callable[..., Series] = Series |
| 685 |
no test coverage detected