ENH: Use left._constructor on pd.merge by jwass · Pull Request #7737 · pandas-dev/pandas (original) (raw)
Use the _constructor property when creating the merge result to
preserve the output type.
If a GeoPandas GeoDataFrame is merged with a DataFrame, the result is hard-coded to always be DataFrame GeoPandas Issue #118. We'd like it to return GeoDataFrame in these cases
>>> import geopandas as gpd
>>> import pandas as pd
>>> gdf = gpd.GeoDataFrame(...)
>>> df = pd.DataFrame(...)
>>> merged = pd.merge(gdf, df, on='column')
>>> type(merged)
GeoDataFrame
This PR uses left._constructor to generate the result type for merge operations.