def valid_years(): """ Vise antall gyldige datapungter for hver kommune. Altså hvor mange unike konsekkutive år det er hvor antall jegerdager er større enn minimumet satt i pre_process """ df, _ = get_hjortevillt_data() df_processed = pre_process(df) index_frame = df_processed.index.to_frame() index_frame['neste jaktår'] = index_frame['jaktår'].astype(np.int32) + 1 nextyear = pd.MultiIndex.from_frame( index_frame[['kommunenr', 'neste jaktår']]) index_frame = index_frame.loc[nextyear.isin(df_processed.index)] X_index = pd.MultiIndex.from_frame(index_frame[['kommunenr', 'jaktår']]) valid_years = df_processed.loc[X_index].reset_index().groupby( 'kommunenr')['jaktår'].nunique() keys = valid_years.index.values items = valid_years.values plot_dict = dict(zip(keys, items)) all_numbers = df.index.get_level_values(0).unique() for n in all_numbers: if n not in plot_dict: plot_dict[n] = 0 plot_kommuner(plot_dict) plt.tight_layout()
from os import supports_dir_fd from sys import int_info from pandas.core.frame import DataFrame from sklearn.cross_decomposition import PLSRegression from hjortevilt import get_hjortevillt_data from preprocess_data import pre_process import pandas as pd import numpy as np from matplotlib import pyplot as plt from adjustText import adjust_text import re # <--- This is important for 3d plotting from mpl_toolkits.mplot3d import Axes3D from matplotlib.lines import Line2D df, _ = get_hjortevillt_data() df = pre_process(df) df.drop(columns=df.columns[df.columns.str.contains('jaktfelt')], inplace=True) # df.drop(columns=df.columns[~df.columns.str.contains('sett')], inplace=True) index_frame = df.index.to_frame() index_frame['neste jaktår'] = index_frame['jaktår'].astype(np.int32) + 1 nextyear = pd.MultiIndex.from_frame(index_frame[['kommunenr', 'neste jaktår']]) index_frame = index_frame.loc[nextyear.isin(df.index)] X_index = pd.MultiIndex.from_frame(index_frame[['kommunenr', 'jaktår']]) Y_index = pd.MultiIndex.from_frame(index_frame[['kommunenr', 'neste jaktår']]) diff = df.groupby('kommunenr').diff(1) X = df.loc[X_index].values
from hjortevilt import get_hjortevillt_data from preprocess_data import pre_process import pandas as pd import numpy as np hjortedata, _ = get_hjortevillt_data() hjortedata = pre_process(hjortedata) hjortedata.drop( columns=hjortedata.columns[hjortedata.columns.str.contains('jaktfelt')], inplace=True) værdata = pd.read_csv( r'C:\Users\emilm\Documents\NTNU\4.klasse\EIT\data\merged_weather.csv') værdata.drop(columns='Unnamed: 0', inplace=True) værdata.rename(columns={ 'kommune': 'kommunenr', 'year': 'jaktår' }, inplace=True) værdata.set_index(['kommunenr', 'jaktår'], inplace=True) værdata.sort_index(0, ['kommunenr', 'jaktår']) værdata = værdata[~værdata.isna().any(axis=1)] index_frame = hjortedata.index.to_frame() index_frame['neste jaktår'] = index_frame['jaktår'].astype(np.int32) + 1 nextyear = pd.MultiIndex.from_frame(index_frame[['kommunenr', 'neste jaktår']]) index_frame = index_frame.loc[nextyear.isin(hjortedata.index)] index_frame = index_frame.loc[index_frame.index.isin(værdata.index)] X_index = pd.MultiIndex.from_frame(index_frame[['kommunenr', 'jaktår']])
color = (cmap(color_dict_normalized[kommunenr]) if kommunenr in color_dict else (.8, .8, .8, 1)) for polygon in sorted(geometry['coordinates'], key=PolyArea, reverse=True)[:3]: plt.fill(*zip(*polygon[0]), color=color) divider = make_axes_locatable(ax) cax = divider.append_axes('right', size='4%', pad=0.05) norm = mpl.colors.Normalize( vmin=min(color_dict.values()), vmax=max(color_dict.values())) mpl.colorbar.ColorbarBase( cax, cmap=cmap, norm=norm, orientation='vertical') ax.axis('off') return fig, ax if __name__ == '__main__': df, names = get_hjortevillt_data() namedict = dict((v, k) for k, v in names['kommune_names'].items()) # df = pre_process(df) data = df.fillna(0).groupby(level=0).max()['elg sett antall jegerdager'] ploitdict = dict(zip(data.index, data.values)) fig, ax = plot_kommuner(ploitdict, namedict) ax.set_title('Jaktdager per kommune') plt.show()