오늘부터 본격적인 데이터 분석을 시작했다. 지난번 데이터 정리에 이어 연도별 / 지역별 발전량 데이터 정리를 주로 진행했다.
지난번 설비용량 데이터를 받았던 사이트에서 함께 받은 발전량 데이터라 설비용량을 정리했던 코드들을 복사해서 조금만 수정하면 될 줄 알았는데, 확인해보니 전혀 아니었다.
데이터의 컬럼과 인덱스가 모두 다르고 기준 연도도 설비용량 데이터와 달랐다. 그래서 복사해서 사용할 수 있는 코드는 그대로 가져오고, 수정이 필요한 코드와 모듈은 하나씩 수정하면서 설비용량 데이터와 같은 형식을 갖추도록 정리했다.
설비용량 데이터와 다른 부분을 하나씩 정리하다 보니 코드가 2배 정도 늘어난 것 같다.
오늘의 가장 큰 이슈는 ipynb 파일의 git merge conflict였다. 이전에 conflict 해결 영상도 많이 보면서 공부했었는데, ipynb는 봤던 영상들과는 약간 달랐다. 영상에서는 간단하게 해결하고 협업 시 conflict는 항상 있는 일이기에 너무 쉽게만 생각했었다. 그리고 ipynb, 즉 주피터 노트북은 딱 보기에 셀이 모두 나누어져 있어 직관적인 느낌이 강해 conflict도 직관적으로 해결할 수 있을 줄 알았다. 하지만 언제나 그렇듯 실전은 생각과는 많이 달랐다.
여러 시행착오와 검색, AI의 도움을 받아 conflict를 해결한 순서다. 분명 더 편하고 효율적인 방법이 있을 것이라고 생각하지만, 아직은 프로젝트를 진행 중이니 프로젝트가 끝나면 강사님께 물어봐야겠다.
크게 이런 흐름으로 해결했다.
execution_count : 주피터 노트북의 실행 순서를 저장한 데이터가 가장 많은 비율을 차지했던 오류로, Incoming과 Current 중 아무거나 선택해도 문제없다.
Incoming 데이터와 Current 데이터가 다른 경우
Accept Combination (Incoming First) = Incoming 뒤에 Current 데이터 mergeAccept Combination (Current First) = Current 뒤에 Incoming 데이터 mergepyc (pycache) 데이터 오류
git rm -r --cached **pycache**/ 실행 (캐시 파일 제거).gitignore에 캐시 파일 등 추가터미널 입력 불가 (MERGING) : 커밋을 했는데 계속 브랜치 이름에 MERGING이 남아있고 터미널 입력이 불가능한 경우
처음으로 마주한 conflict라 살짝 힘들었지만, 막상 해결하고 나서 보니 크게 어려운 것은 없어서 다음 conflict는 더 쉽게 해결할 수 있을 것 같다.