Пример #1
0
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()
Пример #2
0
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
Пример #3
0
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']])
Пример #4
0
        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()