diff --git a/data/2023/results-en.xlsx b/data/2023/results-en.xlsx index 268d84f..ee5037d 100644 Binary files a/data/2023/results-en.xlsx and b/data/2023/results-en.xlsx differ diff --git a/data/2023/results-fi.tsv b/data/2023/results-fi.tsv index 80025da..73c6570 100644 --- a/data/2023/results-fi.tsv +++ b/data/2023/results-fi.tsv @@ -894,4 +894,6 @@ Timestamp Oletko palkansaaja vai laskuttaja? Oletko siirtynyt palkansaajasta las 23/09/2023 20:49:29 Palkansaaja En 31-35 Mies 5 DI 7 Nokia Oulu Tuotetalossa, jonka core-bisnes on softa 100 10 Backend developer 3981 55000 Ei 24/09/2023 18:28:39 Palkansaaja En 41-45 Mies 13 Yliopisto 0 Turku Konsulttitalossa 100 0 Full stack developer 8000 100000 Kyllä 24/09/2023 18:50:12 Palkansaaja En 41-45 Mies 15 FM 5 Turku Konsulttitalossa 30 0 PM/backend developer+ DevOps guy 4000 50000 Ei -24/09/2023 21:13:40 Laskuttaja En 31-35 Mies 12 Insinööri 0 7 Fullstack web ja mobiili 99 150000 Käytän välitysfirmoja Suomesta \ No newline at end of file +24/09/2023 21:13:40 Laskuttaja En 31-35 Mies 12 Insinööri 0 7 Fullstack web ja mobiili 99 150000 Käytän välitysfirmoja Suomesta +24/09/2023 22:31:59 Palkansaaja En 41-45 25 2 Tampere Tuotetalossa, jonka core-bisnes on softa 60 30 Software architect, full-stack 4500 60000 Kyllä +24/09/2023 23:45:24 Palkansaaja En 36-40 Mies 20 Luonnontieteiden kandidaatti 70 PK-Seutu (Helsinki, Espoo, Vantaa) Konsulttitalossa 100 40 CxO 8500 102000 Palkka Ei \ No newline at end of file diff --git a/data/2023/results-fi.xlsx b/data/2023/results-fi.xlsx index bdb3d8f..e84fba0 100644 Binary files a/data/2023/results-fi.xlsx and b/data/2023/results-fi.xlsx differ diff --git a/pulkka/column_maps.py b/pulkka/column_maps.py index 8360714..2b518a0 100644 --- a/pulkka/column_maps.py +++ b/pulkka/column_maps.py @@ -1,6 +1,5 @@ from __future__ import annotations -MISTA_ASIAKKAAT_COL = "Mistä asiakkaat ovat?" IKA_COL = "Ikä" KAUPUNKI_COL = "Kaupunki" KIKY_COL = "Onko palkkasi nykyroolissasi mielestäsi kilpailukykyinen?" @@ -8,23 +7,27 @@ KIKY_OTHER_COL = ( "Onko palkkasi nykyroolissasi mielestäsi kilpailukykyinen? (muut vastaukset)" ) KKPALKKA_COL = "Kuukausipalkka" +KK_TULOT_COL = "Kk-tulot (laskennallinen)" +KK_TULOT_NORM_COL = "Kk-tulot (laskennallinen, normalisoitu)" +LAHITYO_COL = "Kuinka suuren osan ajasta teet lähityönä toimistolla?" +LANG_COL = "Vastauskieli" +MILLAISESSA_COL = "Millaisessa yrityksessä työskentelet?" +MISTA_ASIAKKAAT_COL = "Mistä asiakkaat ovat?" +PALAUTE_COL = "Palaute" PALKANSAAJA_VAI_LASKUTTAJA_COL = "Palkansaaja vai laskuttaja" PALVELUT_COL = "Palvelut" ROOLI_COL = "Rooli" +ROOLI_NORM_COL = "Rooli (normalisoitu)" SIIRTYNYT_COL = ( "Oletko siirtynyt palkansaajasta laskuttajaksi tai päinvastoin 1.10.2022 jälkeen?" ) SUKUPUOLI_COL = "Sukupuoli" +TUNTILASKUTUS_ALV0_COL = "Tuntilaskutus (ALV 0%, euroina)" TYOAIKA_COL = "Työaika" TYOKOKEMUS_COL = "Työkokemus alalta (vuosina)" TYOPAIKKA_COL = "Työpaikka" +VUOSILASKUTUS_ALV0_COL = "Vuosilaskutus (ALV 0%, euroina)" VUOSITULOT_COL = "Vuositulot" -MILLAISESSA_COL = "Millaisessa yrityksessä työskentelet?" -LAHITYO_COL = "Kuinka suuren osan ajasta teet lähityönä toimistolla?" -LANG_COL = "Vastauskieli" -KK_TULOT_COL = "Kk-tulot (laskennallinen)" -KK_TULOT_NORM_COL = "Kk-tulot (laskennallinen, normalisoitu)" -ROOLI_NORM_COL = "Rooli (normalisoitu)" COLUMN_MAP_2023 = { "Timestamp": "Timestamp", @@ -37,8 +40,8 @@ COLUMN_MAP_2023 = { "Tulojen muutos viime vuodesta (%)": "Tulojen muutos viime vuodesta (%)", "Montako vuotta olet tehnyt laskuttavaa työtä alalla?": "Montako vuotta olet tehnyt laskuttavaa työtä alalla?", "Mitä palveluja tarjoat?": PALVELUT_COL, - "Tuntilaskutus (ALV 0%, euroina)": "Tuntilaskutus (ALV 0%, euroina)", - "Vuosilaskutus (ALV 0%, euroina)": "Vuosilaskutus (ALV 0%, euroina)", + "Tuntilaskutus (ALV 0%, euroina)": TUNTILASKUTUS_ALV0_COL, + "Vuosilaskutus (ALV 0%, euroina)": VUOSILASKUTUS_ALV0_COL, "Hankitko asiakkaasi itse suoraan vai käytätkö välitysfirmojen palveluita?": "Hankitko asiakkaasi itse suoraan vai käytätkö välitysfirmojen palveluita?", "Mistä asiakkaat ovat?": MISTA_ASIAKKAAT_COL, "Työpaikka": "Työpaikka", @@ -52,7 +55,7 @@ COLUMN_MAP_2023 = { "Vapaa kuvaus kokonaiskompensaatiomallista": "Vapaa kuvaus kokonaiskompensaatiomallista", "Onko palkkasi nykyroolissasi mielestäsi kilpailukykyinen?": KIKY_COL, "Vapaa sana": "Vapaa sana", - "Palautetta kyselystä ja ideoita ensi vuoden kyselyyn": "Palautetta kyselystä ja ideoita ensi vuoden kyselyyn", + "Palautetta kyselystä ja ideoita ensi vuoden kyselyyn": PALAUTE_COL, } COLUMN_MAP_2023_EN_TO_FI = { @@ -178,3 +181,8 @@ OTHER_GENDER_VALUES = { "muu/ei", "non-binary, afab", } + +TIMESTAMPS_TO_DROP = { + # See "SUBMITTED TWICE, SORRY!!" in English data: + "2023-09-08 13:24:46.740", +} diff --git a/pulkka/data_ingest.py b/pulkka/data_ingest.py index 104cfb9..d9647c9 100644 --- a/pulkka/data_ingest.py +++ b/pulkka/data_ingest.py @@ -33,6 +33,8 @@ from pulkka.column_maps import ( OTHER_GENDER_VALUES, TYOKOKEMUS_COL, ROOLI_NORM_COL, + PALAUTE_COL, + TIMESTAMPS_TO_DROP, ) @@ -139,6 +141,9 @@ def read_data() -> pd.DataFrame: # Drop bogus data df = df.drop(df[df[SUKUPUOLI_COL] == "taisteluhelikopteri"].index) + # Drop rows by timestamps known to be duplicate + df = df.drop(df[df["Timestamp"].isin(TIMESTAMPS_TO_DROP)].index) + df[SUKUPUOLI_COL] = df[SUKUPUOLI_COL].apply(map_sukupuoli).astype("category") df[IKA_COL] = df[IKA_COL].astype("category") diff --git a/pulkka/massage_outputs.py b/pulkka/massage_outputs.py index 0441c28..ad32c47 100644 --- a/pulkka/massage_outputs.py +++ b/pulkka/massage_outputs.py @@ -8,6 +8,7 @@ import jinja2 import numpy import pandas +from pulkka import column_maps from pulkka.config import OUT_DIR, YEAR from pulkka.data_ingest import read_data @@ -62,10 +63,12 @@ def main(): env = jinja2.Environment( autoescape=True, loader=jinja2.FileSystemLoader(TEMPLATE_DIR), + undefined=jinja2.StrictUndefined, ) env.globals.update( { "date": datetime.datetime.utcnow(), + "cm": column_maps, "pd": pandas, "np": numpy, "df": df, diff --git a/template/index.html b/template/index.html index 74ecbf1..a75d7b7 100644 --- a/template/index.html +++ b/template/index.html @@ -1,4 +1,10 @@ {% extends "_base.html" %} +{% macro tunnusluvut_points(df, col_name, title) %} + {% with num_kk = df[pd.to_numeric(df[col_name], errors='coerce').notnull()][col_name] %} +
- Viittaathan dataa käyttäessäsi tähän sivustoon: {{ site_url }}. + Viittaathan dataa käyttäessäsi tähän sivustoon: {{ site_url }}.
- Datan lisenssi on Creative Commons Attribution 4.0 International (CC BY 4.0).
- Mankelointityökalujen lisenssi on MIT.
+ Datan lisenssi on Creative Commons Attribution 4.0
+ International (CC BY 4.0).
+ Mankelointityökalujen lisenssi on MIT.