Türkiye Sanayi Enerji Tüketiminin 1990-2020 Değişimi¶

Barış Sanlı
barissanli2@gmail.com
24 Kasım 2022

Türkiye enerji denge tablolarının Eurostat veritabanındaki versiyonu kullanılarak, 1990-2020 arası sanayi alt kırılımındaki tüketimin değişimi gösterilmektedir.

Veriler Eurostat veritabanından alınıp, Plotly ile interaktif grafiklere dönüştürülmüştür.
Grafikleri incelerken, Türkiye'nin enerji istatistik verilerindeki iyileşme ile verilerdeki değişim de gözlenmektedir. Özellikle 2009 sonrası ve 2015 sonrası olmak üzere, verinin daha detaylandırıldığı ve geçişlerin daha düzgün göründüğü bir istatistik altyapısına geçildiği düşünülmektedir.
Bunun en net kısmını "diğer" sanayi sektöründeki kırılımlı toplamın azalmasından anlıyoruz.
Türkçe isimlenmdirmede, ingilizcesine en yakın isimler kullanılmaya çalışılmıştır. Ama örneğin "Transport Equipment" imalatı uzun uzun ulaştırma ekipmanları imalatı yerine "ulaştırma" olarak adlandırılmıştır.
# ile kodun açıklamaları da yazılmıştır.

In [1]:
# veritabanını indirmeden önce mevcut dizinde olup olmadığına bakacağız, bu kütüphane onun için
from os import path
In [2]:
# bu kısımı kullanmıyoruz ama resim kaydetmek için bıraktım
#Image export using the "kaleido" engine requires the kaleido package,
#which can be installed using pip:
#    $ pip install -U kaleido
# resim dosyalarını kaydetmek için
In [3]:
%pylab inline
%pylab is deprecated, use %matplotlib inline and import the required libraries.
Populating the interactive namespace from numpy and matplotlib
In [4]:
# etkileşimli grafikler için plotly kütüphaneleri
import plotly.express as px
import plotly.io as io
import plotly
In [5]:
# bu satırın amacı, Jupyter'den export ettiğimizde etkileşimli html'ler elde etmek
plotly.offline.init_notebook_mode()
In [6]:
# veriler eurostat kütüphanesinden yok ise 
# !pip install eurostat
import eurostat
import pandas as pd
In [7]:
# indireceğimiz kitaplık nrg_bal_c, fakat bunu nrg_bal_c-2022 olarak saklayacağız
# veri tabanı çok büyük 328 megabyte
# daha önce indirdiysek, indirilenden oku, indirilmediyse indir
if path.exists("nrg_bal_c-2022"):
    df=pd.read_pickle("nrg_bal_c-2022")
else:
    df=eurostat.get_data_df('nrg_bal_c')
    df.to_pickle("nrg_bal_c-2022")
In [8]:
# eurostat kodları biraz çok karışık, onlardan kullanacaklarımızı Türkçe'ye çevirelim
# ULAŞTIRMA kodu ingilizce Transport Equipment yani Otomotiv ve Ulaştırma Makineleri

sektor_kod= ['FC_E','FC_IND_CON_E', 'FC_IND_CPC_E', 'FC_IND_E', 'FC_IND_FBT_E', 'FC_IND_IS_E', 
             'FC_IND_MAC_E','FC_IND_MQ_E', 'FC_IND_NE', 'FC_IND_NFM_E', 'FC_IND_NMM_E',
             'FC_IND_NSP_E', 'FC_IND_PPP_E', 'FC_IND_TE_E', 'FC_IND_TL_E',
             'FC_IND_WP_E']
sektor_isim=["NihaiTüketim","İnşaat", "Petkim","Toplam","Gıda","Çelik","Makine",
             "Maden","EnerjiDışı","Metal","Seramik", "Diğer","Kağıt","Ulaştırma","Tekstil",
             "Ahşap"
            ]
In [9]:
# Yakıt kodları ve ne anlama geldiği, eurostat yakıt kodlarının karşılıkları ve Türkçeleri

yakit_kod= [
    "C0000X0350-0370", #solid fossil fuels
    "G3000", #natural gas
    "O4000XBIO", #oil
    "E7000", # electricity
    "RA000", # renewable
    "TOTAL"
]
yakit_isim= ["Kömür","Gaz","Petrol","Elektrik","Yenilenebilir", "Toplam"]
In [10]:
# kodları isimlerle değiştir ki okuduğumuzu anlayalım
df["nrg_bal"].replace(sektor_kod,sektor_isim  , inplace=True)
df["siec"].replace(yakit_kod,yakit_isim  , inplace=True)
In [11]:
# veride sadece bu sektör ve yakıtları bırak, diğerlerini sil 
df1=df[df['nrg_bal'].isin(sektor_isim)]
df2=df1[df1['siec'].isin(yakit_isim)]
In [12]:
# tüm grafikleri yapan fonksiyon bu 

def sektor_grafik(sektor="Toplam", tip="percent" ):
 # önce ihtiyacımız olan Sektörü, bin ton eşdeğer (KTOE) ve Türkiye için filtrele, olmayan veri satırlarını sil
 dft=df2[((df2.nrg_bal==sektor) & (df2.unit=="KTOE") & (df2['geo\\time']=='TR'))].dropna()
 # veriyi takla attır: Transpose
 dftTx=dft.T
 # başlıkların isimlerini yakıt isimlerine çevir
 dftTx.columns= dft.siec
 # kullanmadığımız satır/sütunları sil
 dftTx.drop(['geo\\time','unit','siec','nrg_bal'],inplace=True)
 # 2020'den 1990'yerine, 1990'dan 2020'ye sırala   
 dftTx=dftTx.reindex(index=dft.T.index[::-1])[:-4]
 # yılları tamsayıya, sütunları noktalı sayılara dönüştür
 dftTx=dftTx.astype(float)/1000.0
 dftTx.index=dftTx.index.astype(str).astype(int)
 # tüm sütun 0 ise sil
 # dftTx=dftTx.loc[:, (dftTx != 0).any(axis=0)]
 # eğer grafik türü "percent" ise y ekseni başlığını %'ye değiştir'
 if tip=="percent": 
        title_t="Yüzde(%) Pay"
        title_b=sektor+" Sektörünün Enerji Tüketiminin Kaynaklara Göre Dağılımı "
 else:
        title_t="Milyon Ton Eşdeper Petrol (MTEP)"
        title_b=sektor+" Sektörünün Enerji Tüketimi" 
 if sektor=="NihaiTüketim":
        title_b="Türkiye Nihai Enerji Tüketimi"
 if sektor=="Toplam":
        title_b="Toplam Sanayi Sektörü Enerji Tüketimi"
 #yığımlı alan grafiği 
 fig = px.area(dftTx, 
              x=dftTx.index, 
              y=dftTx.columns[:-1],
              groupnorm=tip)
 # başlığı ortala, lejantın adını değiştir
 fig.update_layout(
                  legend_title="Kaynaklar",
                  legend={'traceorder':'reversed'}, 
                  title = {'xanchor': 'center',
                           'x':0.5,
                           'text': title_b})
 fig.update_xaxes(title_text = 'Yıl')         
 fig.update_yaxes(title_text = title_t)
 # Grafikleri kaydetmek için 
 # fig.write_image("images/"+sektor+"-"+tip+".png")
 # fig.update_yaxes(tickformat=".2s")  # will format to 2 sigfigs
 fig.show()
In [13]:
# Karanlık temayı seç, diğer temalar io.templates 'de'
io.templates.default = 'plotly_dark'

#tüm sektörler için önce yığım sonra pay grafiklerini çiz
for i in sektor_isim:
    sektor_grafik(i,tip="")
    sektor_grafik(i,tip="percent")
In [ ]: