tests/test_analysis.py: one test per Go/No-Go criterion, including that the csv and pandas readers agree
pandas stays an optional extra; dependencies = []; csv_reader still imports no pandas
Differences from the lecture, so a reader can compare: row selection uses data.loc[...] (same result as data[...]), and hottest_row reuses max_temp so the maximum is stated once.
Checks run locally (Python 3.13, Windows): pytest (27 passed), ruff check, ruff format --check, mypy (strict), doxygen Doxyfile (exit 0, no warnings).
Review: RC-011 (Go, mode: autonomous, not independent).
Delivers MIL-003: the pandas half of both lectures.
- `src/weather/analysis.py`: `read_data` (one `pandas.read_csv` call), `to_data_dict`, `to_temp_list`, `average_temp`, `average_temp_mean`, `max_temp`, `row_for_day`, `hottest_row`, `day_in_fahrenheit`
- `tests/test_analysis.py`: one test per Go/No-Go criterion, including that the csv and pandas readers agree
- `pandas` stays an optional extra; `dependencies = []`; `csv_reader` still imports no pandas
Differences from the lecture, so a reader can compare: row selection uses `data.loc[...]` (same result as `data[...]`), and `hottest_row` reuses `max_temp` so the maximum is stated once.
Checks run locally (Python 3.13, Windows): `pytest` (27 passed), `ruff check`, `ruff format --check`, `mypy` (strict), `doxygen Doxyfile` (exit 0, no warnings).
Review: RC-011 (Go, mode: autonomous, not independent).
Closes #12
Closes #13
Closes #14
Closes #15
Closes #16
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delivers MIL-003: the pandas half of both lectures.
src/weather/analysis.py:read_data(onepandas.read_csvcall),to_data_dict,to_temp_list,average_temp,average_temp_mean,max_temp,row_for_day,hottest_row,day_in_fahrenheittests/test_analysis.py: one test per Go/No-Go criterion, including that the csv and pandas readers agreepandasstays an optional extra;dependencies = [];csv_readerstill imports no pandasDifferences from the lecture, so a reader can compare: row selection uses
data.loc[...](same result asdata[...]), andhottest_rowreusesmax_tempso the maximum is stated once.Checks run locally (Python 3.13, Windows):
pytest(27 passed),ruff check,ruff format --check,mypy(strict),doxygen Doxyfile(exit 0, no warnings).Review: RC-011 (Go, mode: autonomous, not independent).
Closes #12
Closes #13
Closes #14
Closes #15
Closes #16