# `dat-*` (데이터셋) Repository README 작성 가이드 `dat-*` 접두사를 사용하는 저장소는 특정 데이터셋 자체를 저장하거나, 데이터셋에 접근하고 이해하는 데 필요한 모든 정보를 관리합니다. README의 핵심 목표는 데이터의 출처, 구조, 내용을 명확히 설명하여 사용자가 데이터를 올바르게 해석하고 활용할 수 있도록 돕는 것입니다. `Datasheet for Datasets`의 개념을 차용하여 체계적으로 정보를 제공하는 것이 중요합니다. --- ### 1. 데이터셋 개요 (Dataset Overview) - **데이터셋 이름**: "서울시 지하철 혼잡도 이력 데이터" 와 같이 데이터셋의 공식 명칭을 기재합니다. - **한 줄 요약**: 이 데이터셋이 무엇에 대한 데이터인지 한 문장으로 설명합니다. - 예시: "2022년 한 해 동안 서울시 모든 지하철역의 시간대별 평균 혼잡도 정보를 담고 있는 시계열 데이터셋입니다." - **키워드**: `시계열`, `교통 데이터`, `서울`, `지하철 혼잡도` 등 데이터셋을 설명하는 주요 키워드를 나열합니다. ### 2. 데이터 출처 및 수집 방법 (Source and Collection) - **데이터 원천 (Source)**: 데이터가 어디에서 비롯되었는지 원본 출처를 명확히 밝힙니다. - 예시: "서울 열린데이터 광장 (data.seoul.go.kr)" - 원본 데이터에 접근할 수 있는 URL을 반드시 포함해야 합니다. - **수집 방법 (Collection Process)**: - 데이터가 어떻게 수집되었는지 설명합니다. (예: "매일 자정, API를 통해 전날 데이터를 수집하여 CSV 파일로 저장하는 스크립트를 실행함.") - 데이터 수집 기간(예: `2022-01-01` ~ `2022-12-31`), 수집 주기(예: `일별`) 등 시간적 범위를 명시합니다. ### 3. 데이터 구조 및 스키마 (Data Structure and Schema) - **파일 목록 및 설명**: 데이터셋을 구성하는 파일과 폴더 구조를 설명합니다. ```plaintext / ├── data/ │ ├── subway_congestion_2022.csv # 2022년 전체 데이터 │ └── station_info.csv # 지하철역 메타데이터 ├── scripts/ │ └── download_data.py # 데이터 다운로드 스크립트 └── README.md ``` - **데이터 스키마 (칼럼 설명)**: 각 CSV 파일의 칼럼(열)이 무엇을 의미하는지 상세히 설명합니다. 표를 사용하는 것이 가장 효과적입니다. **`subway_congestion_2022.csv`** | 칼럼명 (Column) | 데이터 타입 (Type) | 설명 (Description) | 예시 (Example) | |-----------------|--------------------|--------------------------------------------------|----------------------| | `date` | `YYYY-MM-DD` | 데이터 수집 날짜 | `2022-05-15` | | `station_code` | `String` | 지하철역 고유 코드 (`station_info.csv` 참조) | `S1001` | | `hour` | `Integer` | 시간 (0-23) | `18` (오후 6시) | | `congestion` | `Float` | 해당 시간의 평균 혼잡도 (0.0 ~ 1.0) | `0.85` | ### 4. 데이터 사용 예시 (Usage Example) - **목적**: 사용자가 데이터를 로드하여 기본적인 분석을 수행하는 간단한 코드 스니펫을 제공합니다. - **Python (Pandas) 예시**: ```python import pandas as pd # 데이터 불러오기 congestion_df = pd.read_csv('data/subway_congestion_2022.csv') station_df = pd.read_csv('data/station_info.csv') # 데이터 병합 df = pd.merge(congestion_df, station_df, on='station_code') # 강남역의 월별 평균 혼잡도 계산 gangnam_congestion = df[df['station_name'] == '강남'] monthly_avg = gangnam_congestion.groupby(pd.to_datetime(df['date']).dt.month)['congestion'].mean() print(monthly_avg) ``` ### 5. 라이선스 및 사용 제약 (License and Constraints) - **라이선스**: 데이터셋에 적용되는 라이선스를 명시합니다. (예: `CC-BY 4.0`) - **사용 제약**: - 데이터 사용 시 출처를 반드시 표기해야 하는지 등 사용 조건을 안내합니다. - 개인정보 포함 여부, 상업적 이용 가능 여부 등 민감한 사항을 명확히 고지합니다. - **면책 조항 (Disclaimer)**: 데이터의 정확성이나 완전성을 보증하지 않으며, 데이터 사용으로 발생하는 문제에 대해 책임지지 않는다는 점을 명시할 수 있습니다.