-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
In STAREPandas/starepandas/staredataframe.py
Changes to the Pandas API result in an STAREDataFrame unexpectedly being converted to a Pandas DataFrame which leads to failure when that DataFrame is treated as if it were a STAREDataFrame.
Suggest that we overload the Pandas set_index() function with a STAREDataFrame class set_index() function so we don't run into this issue when STAREDataFrames indexing is altered.
def stare_dissolve(self, by=None, num_workers=1, geom=False, aggfunc="first", **kwargs):
...
sdf = STAREDataFrame(dissolved, columns=[by, self._sid_column_name])
# sdf is a STAREDataFrame
# Changes to the Pandas API result in sdf being changed to a Pandas DataFrame
sdf.set_index(by, inplace=True)
# This fails because sdf isn't a STAREDataFrame
sdf.set_sids(self._sid_column_name, inplace=True)FIX
def stare_dissolve(self, by=None, num_workers=1, geom=False, aggfunc="first", **kwargs):
...
sdf = STAREDataFrame(dissolved, columns=[by, self._sid_column_name])
# Return sdf to a STAREDataFrame, required new_sdf being created and then recast.
new_sdf = sdf.set_index(by, inplace=False)
sdf = new_sdf
sdf.__class__ = STAREDataFrame
sdf.set_sids(self._sid_column_name, inplace=True)Metadata
Metadata
Assignees
Labels
No labels