def get_data(self, environment_title_or_num=-<NUM_LIT:1>, frequency=None):
<EOL>if isinstance(environment_title_or_num, int):<EOL><INDENT>environment_title = tuple(self._raw_environments.keys())[environment_title_or_num]<EOL><DEDENT>else:<EOL><INDENT>environment_title = environment_title_or_num<EOL><DEDENT>if environment_title not in self._dfs:<EOL><INDENT>raise ValueError(f"<STR_LIT>")<EOL><DEDENT>environment_dfs = self._dfs[environment_title]<EOL>if frequency is None:<EOL><INDENT>for frequency in FREQUENCIES:<EOL><INDENT>if environment_dfs[frequency] is not None:<EOL><INDENT>break<EOL><DEDENT><DEDENT><DEDENT>if frequency not in FREQUENCIES:<EOL><INDENT>raise ValueError(f"<STR_LIT>")<EOL><DEDENT>return self._dfs[environment_title][frequency]<EOL>
Parameters
----------
environment_title_or_num
frequency: 'str', default None
    'timestep', 'hourly', 'daily', 'monthly', 'annual', 'run_period'
    If None, will look for the smallest frequency of environment.