File size: 1,736 Bytes
5ed1762 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | #!/usr/bin/env python3
from __future__ import annotations
import argparse
import sys
from pathlib import Path
ROOT = Path(__file__).resolve().parents[1]
SRC = ROOT / "src"
if str(SRC) not in sys.path:
sys.path.insert(0, str(SRC))
from dce_analyzer.apollo import APOLLO_DATASETS, load_apollo_long # noqa: E402
def parse_args() -> argparse.Namespace:
parser = argparse.ArgumentParser(
description="Download Apollo example data and convert to long format."
)
parser.add_argument(
"--dataset",
choices=sorted(APOLLO_DATASETS.keys()),
default="swiss_route_choice",
)
parser.add_argument(
"--raw-out",
type=Path,
default=None,
help="Optional raw CSV output path.",
)
parser.add_argument(
"--long-out",
type=Path,
default=None,
help="Optional long CSV output path.",
)
return parser.parse_args()
def default_outputs(dataset: str) -> tuple[Path, Path]:
raw = Path(f"data/raw/apollo_{dataset}.csv")
long = Path(f"data/processed/apollo_{dataset}_long.csv")
return raw, long
def main() -> None:
args = parse_args()
raw_default, long_default = default_outputs(args.dataset)
raw_out = args.raw_out or raw_default
long_out = args.long_out or long_default
long_df = load_apollo_long(
dataset=args.dataset,
raw_output_path=raw_out,
long_output_path=long_out,
)
print(f"Dataset: {args.dataset}")
print(f"Saved raw Apollo file: {raw_out}")
print(f"Saved long-format file: {long_out}")
print(f"Long-format shape: {long_df.shape}")
print("Columns:")
print(", ".join(long_df.columns))
if __name__ == "__main__":
main()
|