250818 [ Day 30 ] - Project (4)

TaeHyun·2025년 8월 18일

TIL

목록 보기
31/184

시작하며

오늘부터 본격적인 데이터 분석을 시작했다. 지난번 데이터 정리에 이어 연도별 / 지역별 발전량 데이터 정리를 주로 진행했다.

데이터 정리

지난번 설비용량 데이터를 받았던 사이트에서 함께 받은 발전량 데이터라 설비용량을 정리했던 코드들을 복사해서 조금만 수정하면 될 줄 알았는데, 확인해보니 전혀 아니었다.
데이터의 컬럼과 인덱스가 모두 다르고 기준 연도도 설비용량 데이터와 달랐다. 그래서 복사해서 사용할 수 있는 코드는 그대로 가져오고, 수정이 필요한 코드와 모듈은 하나씩 수정하면서 설비용량 데이터와 같은 형식을 갖추도록 정리했다.

  • 열과 행 전치
  • 컬럼과 인덱스 통일화
  • 월별 데이터 -> 연도별 데이터 변환
  • float -> round 후 int로 변환
  • 연도별 누적값 계산

설비용량 데이터와 다른 부분을 하나씩 정리하다 보니 코드가 2배 정도 늘어난 것 같다.

Conflict

오늘의 가장 큰 이슈는 ipynb 파일의 git merge conflict였다. 이전에 conflict 해결 영상도 많이 보면서 공부했었는데, ipynb는 봤던 영상들과는 약간 달랐다. 영상에서는 간단하게 해결하고 협업 시 conflict는 항상 있는 일이기에 너무 쉽게만 생각했었다. 그리고 ipynb, 즉 주피터 노트북은 딱 보기에 셀이 모두 나누어져 있어 직관적인 느낌이 강해 conflict도 직관적으로 해결할 수 있을 줄 알았다. 하지만 언제나 그렇듯 실전은 생각과는 많이 달랐다.

Conflict 해결 순서

여러 시행착오와 검색, AI의 도움을 받아 conflict를 해결한 순서다. 분명 더 편하고 효율적인 방법이 있을 것이라고 생각하지만, 아직은 프로젝트를 진행 중이니 프로젝트가 끝나면 강사님께 물어봐야겠다.

  1. VS Code 메뉴의 Source Control 들어가기
  2. conflict 발생한 파일 선택
  3. Merge Editor 클릭
  4. 빨간색으로 표시된 conflict 해결하기
  5. Complete Merge 클릭
  6. 메뉴창에서 커밋 메세지 작성 후 커밋 클릭

크게 이런 흐름으로 해결했다.

Conflict / Error

  • execution_count : 주피터 노트북의 실행 순서를 저장한 데이터가 가장 많은 비율을 차지했던 오류로, Incoming과 Current 중 아무거나 선택해도 문제없다.

  • Incoming 데이터와 Current 데이터가 다른 경우

    • Accept Combination (Incoming First) = Incoming 뒤에 Current 데이터 merge
    • Accept Combination (Current First) = Current 뒤에 Incoming 데이터 merge
  • pyc (pycache) 데이터 오류

    • git rm -r --cached **pycache**/ 실행 (캐시 파일 제거)
    • .gitignore에 캐시 파일 등 추가
  • 터미널 입력 불가 (MERGING) : 커밋을 했는데 계속 브랜치 이름에 MERGING이 남아있고 터미널 입력이 불가능한 경우

    1. Source Control 왼쪽 메뉴에 새로고침
    2. conflict가 남아있으면 다시 해결 이후 commit 클릭
    3. 기존 터미널창 모두 종료 후 새로 터미널 열기

마치며

처음으로 마주한 conflict라 살짝 힘들었지만, 막상 해결하고 나서 보니 크게 어려운 것은 없어서 다음 conflict는 더 쉽게 해결할 수 있을 것 같다.

profile
Hello I'm TaeHyunAn, Currently Studying Data Analysis

0개의 댓글