import pandas as pd

energy_df = pd.read_csv("../../data/germany_energy_mix_2019_2024.csv")
print(energy_df)
print(energy_df.columns)

# Green, Non-Green

# 1) Wiewiel erneuerbare bzw nicht-erneuerbare energie wurde insgesamt produziert
total_energy_production = energy_df[["Generation_TWh", "Energy_Type"]].groupby("Energy_Type").sum()
print(total_energy_production)

# 2) Pro Jahr  (unstack)
yearly_production = energy_df[["Year", "Generation_TWh", "Energy_Type"]].groupby(["Year", "Energy_Type"]).sum()
yearly_production = yearly_production.unstack()
print(yearly_production)


# 3) jährlich nach Energy_Source angeben
yearly_production = energy_df[["Year", "Generation_TWh", "Energy_Source"]].groupby(["Year", "Energy_Source"]).sum()
yearly_production = yearly_production.unstack()
print(yearly_production)

# 4) welche energiequelle hat den größten/kleinsten wachstum (idxmax)
yearly_production = yearly_production["Generation_TWh"]
print(yearly_production)
# a = yearly_production["Biomass"]
# a.sort_values(inplace=True)  Verboten, da a eine View auf yearly_production ist!
print("-"*100)
diff = yearly_production.loc[2024] - yearly_production.loc[2019]
sorted_diffs = diff.sort_values()
print(diff)
print(sorted_diffs)

# gößter wachtumg
print(f"Größter Wachstum: {diff.idxmax()}, {diff.max()}")
print(f"Größter Wachstum: {sorted_diffs.index[-1]}, {sorted_diffs.iloc[-1]}")
print(f"Kleinster Wachstum: {diff.idxmin()}, {diff.min()}")
print(f"Kleinster Wachstum: {sorted_diffs.index[0]}, {sorted_diffs.iloc[0]}")

# 5) Prozentual
percentages = yearly_production.divide(yearly_production.sum(axis=1), axis=0)
print(percentages)
print(percentages.mean(axis=0))
perc_diff = percentages.loc[2024] - percentages.loc[2019]
perc_diff.sort_values(inplace=True)
print(perc_diff)
#  Monatlichen Verlauf (Jan 2019 und Jan 2020 sind verschiedene)
verlauf = energy_df[["Year", "Month", "Energy_Type", "Generation_TWh"]].groupby(["Year", "Month", "Energy_Type"]).sum().unstack()
print(verlauf)

# In welchen monaten wurde mehr grüner als nicht-grüner strom produziert
print(verlauf[verlauf["Generation_TWh", "Green"] > verlauf["Generation_TWh", "Non-Green"]])

verlauf = verlauf["Generation_TWh"]
print(verlauf["Green"] > verlauf["Non-Green"])

#        Biomass, CoalHard,
#2019-1    100,   2321,
#2019-2    100,   2321,

#        Green, NonGreen,
#2019-1    100,   2321,
#2019-2    110,   2121,
#         ....
#2024-2   2313,   111,
