Skip to content

Commit

Permalink
fix: type inference issue in return value of get_best
Browse files Browse the repository at this point in the history
  • Loading branch information
MilesCranmer committed Apr 28, 2024
1 parent a5eaab9 commit 526d334
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions pysr/sr.py
Original file line number Diff line number Diff line change
Expand Up @@ -1179,26 +1179,29 @@ def get_best(self, index=None) -> Union[pd.Series, List[pd.Series]]:
Raised when an invalid model selection strategy is provided.
"""
check_is_fitted(self, attributes=["equations_"])
if self.equations_ is None:
raise ValueError("No equations have been generated yet.")

if index is not None:
if isinstance(self.equations_, list):
assert isinstance(
index, list
), "With multiple output features, index must be a list."
return [eq.iloc[i] for eq, i in zip(self.equations_, index)]
return self.equations_.iloc[index]
elif isinstance(self.equations_, pd.DataFrame):
return self.equations_.iloc[index]
else:
raise ValueError("No equations have been generated yet.")

if isinstance(self.equations_, list):
return [
eq.loc[idx_model_selection(eq, self.model_selection)]
for eq in self.equations_
]
else:
elif isinstance(self.equations_, pd.DataFrame):
return self.equations_.loc[
idx_model_selection(self.equations_, self.model_selection)
]
else:
raise ValueError("No equations have been generated yet.")

def _setup_equation_file(self):
"""
Expand Down

0 comments on commit 526d334

Please sign in to comment.