3P by neo 2023-09-16 | favorite | 댓글과 토론
  • 글에서는 저자가 가장 좋아하는 API, 즉 유럽 중앙은행 웹사이트의 zipfile에 대해 이야기하며, 이 zipfile은 유로화가 다른 통화에 대해 어떤 위치에 있었는지에 대한 역사적 데이터를 제공한다.
  • 저자는 curl, gunzip, sqlite3, pandas 등 다양한 도구를 사용하여 zipfile에서 데이터를 다운로드, 압축 해제, 쿼리하는 방법을 보여준다.
  • zipfile에서 얻은 데이터는 "wide" 형식으로, 날짜 열과 각 통화에 대한 추가 열이 있으며, 이는 필터와 집계에 이상적이지 않다.
  • 저자는 pandas를 사용하여 데이터를 "wide" 형식에서 "long" 형식으로 변환하는 과정, 즉 "melting"을 수행한다.
  • 저자는 또한 데이터에 문제가 있다고 지적한다: 각 줄 끝에 있는 trailing comma가 melting 과정을 방해한다. 이는 pandas의 메소드 체인에 .iloc[:, :-1]를 추가함으로써 해결된다.
  • 저자는 이 데이터를 다루는 데 "데이터 준비" 작업이 필요하다는 것을 인정하지만, ECB 외환 데이터는 다른 오픈 데이터 릴리스에 비해 상대적으로 쉽게 다룰 수 있다고 지적한다.
  • 저자는 그 다음으로 정리된 데이터를 csvbase 테이블에 업로드하는 방법과 gnuplot을 사용하여 데이터의 그래프를 그리는 방법을 보여준다.
  • 저자는 또한 sqlite와 유사하지만 columnar인 DuckDB라는 도구를 소개하고, 이를 사용하여 HTTP에서 바로 csv를 테이블 파일로 로드하는 방법을 보여준다.
  • 저자는 오픈 데이터가 오픈 API로 작동할 수 있음을 지적하며, ECB의 zipfile의 간단함을 데이터 교환 형식으로 칭찬한다.
  • 저자는 또한 유로화의 간략한 역사를 제공하며, 처음 출시된 2000년에 왜 달러에 대해 약했는지 설명한다.