본문 바로가기
Bigdata/Energy Bigdata

[pandas] 헤어나오기 힘들었던 오류의 늪 그리고 데이터 시각화

by 겨울 빛 2020. 12. 13.

와우.

방금 약 1시간 반동안 어이없는걸로 컴퓨터와 싸우다 돌아옴

세상에서 제일 어이없는 그래프

아니 이런그래프 본적 있으신가여?

대환장 y축

의미가 없는 그래프 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

 

 

아니 다른 csv파일은 데이터 시각화

이렇게만 잘되는데 저 위에 이상한 그래프는 뭐냐구여?

 

 

 

 

 

 

 

 

 

 

 

 

아오...............

이것때매 한시간 반동안 온갖 고민과 빡침과 고통을 다 겪었다

데이터 시각화 뿐만 아니라 열끼리 덧셈도 안되는거임 하...........개빡

근데 이유가 얼탱이가 없다는게 킬포다.

 

이유인 즉슨..........

쉼표 때문이다

그 천의자리 구분하는 그 쉼표 ㅇㅇ

^^.........................

 

 

 

아무도 이런걸로 고통받아본 적이 없는지 아무리 구글링 해도 안나오더라 ^^

 

그래서 결국 나 혼자 엑셀로 새로운 표 자체제작해보고 지금까지 분석했던 온갖 자료들 끌어다가 다시 시각화 해본 끝에 마침내 깨달았다

쉼.표. 때문이라는걸.

 

 

다시 스프레드시트가서 셀서식 들어가서 잽싸게 콤보상자 체크 없애고 다시 업로드 함

 

 

 

 

 

 

 

 

 

 

 

 

이게 뭐라고 이걸 한시간 반만에 해내냐..........................................................

쉼표때문에 주피터 이자식이 숫자라고 인식을 못한듯.ㅇㅇ

아 너무 현타오고 근데 그 와중에 약간의 뿌듯함, 코딩하면서 인생의 희노애락 다 경험중

 

 

 


그래도 해냈으니까 한거 자랑 포스팅 해야댐

지금 뭐하는 중이나면 1차 에너지 생산량 구성 비율 시각화 하는거시다.

#1차에너지원별 구성비
plt.rc('axes', titlesize=20)    
plt.rc('axes', labelsize=12)    
plt.rc('xtick', labelsize=8)   
plt.rc('ytick', labelsize=10)   
plt.rc('legend', fontsize=10)   
plt.rc('figure', titlesize=14)  
plt.figure(figsize=(16,5))


plt.plot(df.iloc[13,2:],label='Coal',color='green')
plt.plot(df.iloc[14,2:],label='Oil',color='red')
plt.plot(df.iloc[15,2:],label='Natural Gas',color='blue')
plt.plot(df.iloc[16,2:],label='Hydro',color='magenta')
plt.plot(df.iloc[17,2:],label='Nuclear',color='yellow')

plt.xlabel('Year')
plt.ylabel('Proportion (%)')
plt.title('Composition Proportion of Primary Energy')
plt.grid()
plt.legend()
plt.show()

 하나의 그리드에 여러개 plot 하려면 어김없이 레게노 등장.

 

 

 

 

 

대충 유의미한 수치:

석유 생산량 줄어듦. 천연가스 생산량 늘어남.

 


 

하지만 다음 그래프는 살짝 충격의 도가니탕이긴 했다

이번에는 1차 에너지 수입 의존도 구해볼 것이다

plt.rc('axes', titlesize=20)    
plt.rc('axes', labelsize=12)    
plt.rc('xtick', labelsize=8)    
plt.rc('ytick', labelsize=10)    
plt.rc('legend', fontsize=10)  
plt.rc('figure', titlesize=14) 
plt.figure(figsize=(16,8))


plt.plot(df.iloc[0,2:],label='전체',color='red')
plt.plot(df.iloc[1,2:],label='생산',color='green')
plt.plot(df.iloc[7,2:],label='수입',color='blue')


plt.xlabel('년도')
plt.ylabel('에너지 양 (toe)')
plt.title('1차 에너지의 생산량/수입량 비교')
plt.grid()
plt.legend()
plt.show()

 

 

3

 

2

 

1

 

 

 

전체 에너지량이랑 수입 에너지량이 거의 비슷하다

= 1차에너지 거의 대부분 수입해옴

 

 

 

 

에너지 대부분이 수입산인건 알고 있었는데 저렇게 그래프 두개가 거의 붙어있는걸 보니 깜놀,,

나름대로 수입 의존도도 구해보기로 했다

 

 

 

 

일단 데이터프레임에서 저 세게 해당하는 데이터들만 따로 빼봤다

#전체 에너지량, 생산, 수입
df3=df.iloc[[0,1,7],2:]
df3

이 코드는

df.iloc[[인덱스0, 인덱스1, 인덱스7], 두번째 칼럼 이후 모두] 라는 뜻.

인덱스 0이 전체 에너지량이었고, 인덱스 1이 생산량, 인덱스 7이 수입량 이었음! (단위는 모두 1000toe)

수입의존도는 df_dep 로 새롭게 정의해보았다

구하는 식은

 

수입 의존도= 수입에너지량/전체에너지량 *100 

 

이겠지?

df_dep=df.iloc[7,2:]/df.iloc[0,2:]*100
df_dep

코드로는 이렇게 적어볼 수 있다

 

 

 

 

 

한번더 plot 가즈아!

plt.rc('axes', titlesize=20)    
plt.rc('axes', labelsize=12)   
plt.rc('xtick', labelsize=8)   
plt.rc('ytick', labelsize=10)   
plt.rc('legend', fontsize=10)   
plt.rc('figure', titlesize=14)  
plt.figure(figsize=(16,8))


plt.plot(df_dep)

plt.xlabel('년도')
plt.ylabel('1차 에너지 수입 비율(%)')
plt.title('에너지 수입 의존도')
plt.grid()
plt.show()

 

와우.................

에너지 수입 의존도가 기하급수적으로 증가하더니 97%까지 찍는걸 한눈에 볼 수 있었다

ㅠㅠ 에너지 안보가 취약할 수밖에...

 

 

 

 

 

 

 

 


 

 

아참 plot 할때 또 하나 주의점 있음.

plt.rc()이거 무족권 plt.plot() 앞에 써야 그래프에 적용됨

아까 글자 크기좀 바꿔보려고 plt.rc 열심히 바꿔봤는데 아무리 해도 변함없는 글자크기에 혼자 또한번 극대노했다.

ㅠㅠ

 

 

 

야심한 시각 정신나간 포스팅이 따로없군

 

 

이 글은 사실 나를 위한것이다

왜냐면 아무도 이런거에서 막힐 것 같지 않거든 ^^..

Hoxy 나와 비슷한 또다른 코딩응애가 있다면 부디 도움되길 바라며..

배위.

댓글