mirror of
https://github.com/microsoft/qlib.git
synced 2026-06-06 05:51:17 +08:00
fix SepDataFrame when we del it to empty (#1082)
This commit is contained in:
@@ -24,6 +24,10 @@ class SepDataFrame:
|
||||
SepDataFrame tries to act like a DataFrame whose column with multiindex
|
||||
"""
|
||||
|
||||
# TODO:
|
||||
# SepDataFrame try to behave like pandas dataframe, but it is still not them same
|
||||
# Contributions are welcome to make it more complete.
|
||||
|
||||
def __init__(self, df_dict: Dict[str, pd.DataFrame], join: str, skip_align=False):
|
||||
"""
|
||||
initialize the data based on the dataframe dictionary
|
||||
@@ -77,7 +81,11 @@ class SepDataFrame:
|
||||
|
||||
def _update_join(self):
|
||||
if self.join not in self:
|
||||
self.join = next(iter(self._df_dict.keys()))
|
||||
if len(self._df_dict) > 0:
|
||||
self.join = next(iter(self._df_dict.keys()))
|
||||
else:
|
||||
# NOTE: this will change the behavior of previous reindex when all the keys are empty
|
||||
self.join = None
|
||||
|
||||
def __getitem__(self, item):
|
||||
# TODO: behave more like pandas when multiindex
|
||||
|
||||
@@ -47,8 +47,13 @@ class SepDF(unittest.TestCase):
|
||||
two -0.600639 -0.291694}
|
||||
"""
|
||||
self.assertEqual(self.to_str(sdf._df_dict), self.to_str(exp))
|
||||
# self.assertEqual(self.to_str(data.tail()), self.to_str(res))
|
||||
|
||||
del df["g1"]
|
||||
del df["g2"]
|
||||
# it will not raise error, and df will be an empty dataframe
|
||||
|
||||
del sdf["g1"]
|
||||
del sdf["g2"] # sdf should support deleting all the columns
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user