web-cz
web-cz copied to clipboard
Datasety: přístupné pro strojové zpracování
Bylo by užitečné poskytovat dataset i v nějaké formě vhodné pro strojové zpracování.
Například dostat data z našich google spreadsheetů do pythonu vůbec není jednoduché:
- tabulky s výsledky jsou uprostřed stránek, které obsahují mnoho dalších údajů všude kolem - komplikuje načtení jako dataframe
- culture-specific zobrazování čísel proces také komplikuje - například překopírování data do excelu nebo jinam zachová mezery pro oddělení řádů tisíců apod (nebo ještě hůře, nahradí je jakousi nezalomitelnou mezerou, takže po načtení do pythonu je z toho string s podivným hexadecimálním kódem uprostřed), desetinnou čárku opět můj anglický excel nerozpoznal jako desetinnou tečku - a tedy ani jako číslo (nicméně desetinná tečka se dá aspoň kontrolovat parameterem v pythonu)
Co s tím?
- samostatné repo pro datasety v CSV formátu, případně doplněné o základní metadata?
- je případně nějaká snadná možnost, jak takové datasety generovat nějak automaticky z našich google spreadsheetů?
Obecně je to nice-to-have do budoucna - nicméně například Kristi narážela na podobné problémy, je to žádoucí součást produktu Datasetů.
EDIT 15/05/2020:
- ukazuje se, že v komplikovanějších případech je složité generovat grafiky přes google spreadsheet. Zároveň však chceme uživatelům ukazovat, z jakých dat čerpáme a jak byla připravena pro infografiku.
- pokud budeme mít CSV soubory, můžeme snadno doplnit Jupyter notebook s pythonem / R scriptem, který názorně ilustruje zpracování dat a vygenerování grafu. Rovněž to výrazně usnadní práci dalším datařům s načítáním dat a pravděpodobně i nám generování nových grafů či jejich aktualizace v budoucnu.
S Tomem jsme se o tom bavili, souhlasím, nemám moc co dodat.
Jen mi přijde dost důležitý, aby se to automaticky generovalo, aby se nezvyšovaly náklady na zpracování datasetu a nezvětšoval prostor pro ruční chyby.
Vyžaduje to delší úvahy.
Dost zvažuju změnit technicky jazyk našich tabulek na angličtinu, aby lépe fungoval export do CSV (texty bychom tam stále měli česky, jen by se používal americký standard formátování čísel).
Se změnou technického jazyku na angličtnu souhlasím. Tím by se ostatně i vyřešila většina problémů, na které jsme s Tomem naráželi.
Jinak jsem taky pro CSV datasety. :)
Se změnou technického jazyka na EN souhlasím, pořád nechápu, jak někdo může používat desetinnéčárky místo teček...
On Sat, 4 Apr 2020 at 11:26, kikinna [email protected] wrote:
Se změnou technického jazyku na angličtnu souhlasím. Tím by se ostatně i vyřešila většina problémů, na které jsme s Tomem naráželi.
Jinak jsem taky pro CSV datasety. :)
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/faktaoklimatu/web/issues/468#issuecomment-609002000, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEED2EDMNJGKSRH75IHWCILRK34NZANCNFSM4L4KWY6A .
Navehujem teda:
- Prevedme formaty do anglictiny (desatinna bodka v cislach, mozno nieco viac – napr. datumy na ISO format, ak tam nejake mame).
- Texty nechajme v cestine.
- CSV datasetov prepisme do wiki ako nice-to-have, pride mi to aktualne viac rezie ako uzitku (aktualne datasety nie su nas primarny ani velmi pouzivany vystup).
Co vy na to? Ak sa na tomto zhodneme, da sa to niekomu zadat na klimatone. Plus idealne doplnit toto info do dokumentu o datasetoch.
Ano, souhlasím se vším.
Je potřeba překlopit všechny datasety do angličtiny (netuším, kolik je s tím práce, snad málo), včetně šablony na datasety a zmínit to v instrukcích.
Trochu nerad bych to někomu zadal dělat přímo na živých veřejných datasetech. Tedy by si mohl udělat kopie a upravit to na nich. A když už budeme dělat kopie a předělávat odkazy v gitu, tak bych to rovnou hodil všechno do toho nového Google disku s omezeným přístupem.
Dává to smysl?
- Suhlasim. Chceme na to samostatny gDisk? (Akoze uplne samostatny.) Ak povies, vyrobim.
- Chces si to urobit sam, alebo to niekomu delegovat? Vidim dost pozitiv aj v tom, ze by si to robil ty (menej prace s kontrolou zmien).
Ano, úplně samostatný disk, kam bude mít právo zápisu (zatím) jen Ondráš, Ty a já. Jednotlivým autorům datasetů pak můžeme dát navíc právo zápisu do jednotlivých souborů.
Všichni ostatní z klimaton-brno můžou zobrazovat a číst. Pokud se dá nastavit, že to může by-default číst kdokoliv, tak to by bylo plus, aby se to nemuselo nastavovat u každého souboru zvlášť.
Zatím to přiřaď mně. Do pátku to snad otestuju na nějakým datasetu, pokud to bude bez rizika a moc práce, tak bych to delegoval. Jinak to udělám sám.
Mas to tam.
Když už se bude sahat na všechny datasety, tak by se současně mohla přidat verze datasetu a odkaz na stránku datasetu (pokud už existuje) a vymyslet, jak označovat staré verze. Tedy to volně souvisí s #478.
Dotaz na ty, kdo s daty pracují (@kikinna, @protivinsky):
Standardní formát čísla v angličtině (USA) je následující: 34,134.12 Zvažuju, jestli (aspoň v některých případech) nechceme raději použit 34134.12
Předpokládám správně, že váš software zvládne parsovat oboje, tedy že vám je to jedno?
Máte nějaký názor na to, který formát je srozumitelnější pro české publikum? Já bych se minimáně silně klonil pro formát bez čárky oddělující tisíce u letopočtů, tedy 2020 (i v případě decimálního zápisu 2020.2937). U jiných čísel je oddělování tisiců čárkou za mě ok, zjednodušuje čtení.
Osobne som relativne proti oddelovaniu tisicov ciarkami, myslim, ze to bude robit chaos (ked budu cele cisla v tisicoch, bude sa dat zavahat, ci je to desatinne cislo v ceskom pravopise alebo tisice v americkom).
Problém je v tom, že tam nemůžeme použít mezery na oddělování tisíců, protože pak zas nefunguje parsování čísel softwarem, který předpokládá en-US. A vůbec neoddělovat tisíce, to je podle mě velká újma na čitelnosti. Schválně, jaký je řád tohoto čísla? 56321745
Můj pohled: oddělovat tisíce čárkou jen tam, kde se v datech přirozeně objevuje i desetinná tečka a nebo kde jsou často hodnoty větší než milion, takže čtenář vidí v číslech dvě oddělovací čárky a tak to (snad) pochopí. Čísla menší než milion se ještě jakžtakž dají číst i bez oddělování, tak mi to nepřijde velká újma.
Komentář za mě:
- popravdě, navrhované řešení z mého pohledu v zásadě nic neřeší. Pokud dobře rozumím, aktuální změna je pouze o formátování čísel a případně datumů. Při parsování datumů je zpravidla možné zadat vstupní formát explicitně. U parsování čísel jsou problémy s oddělováním řádů, často to není podporováno (a znamená to prostě zavolat replace na vstupních řetězcích a zbavit se toho manuálně). Oproti tomu desetinná tečka vs čárka se většinou dá specifikovat, čili to není problém. Volba technického jazyka mi je tedy dost jedno; oddělování řádů bych raději zachoval, u velkých čísel to výrazně zlepšuje čitelnost.
Popíšu můj aktuální postup pro načtení datasetu a srovnám to s ideálním stavem, aby bylo vidět rozdíl:
- překopíruji vybranou oblast výsledků z GD do lokálního excelovského spreadsheetu
- spreadsheet uložím jako CSV
- načtu CSV do pythonu
- postupně procházím sloupce, které nebyly korektně parsovány jako čísla, provádím na nich textová nahrazování a znovu je parsuji na čísla
- přejmenuji sloupce na něco rozumného, co se dá krátce napsat a neobsahuje to žádné divné znaky (ideálně bez diakritiky, bez mezer)
- až nyní teprve můžu z datasetem pracovat
Pokud je oproti tomu dataset poskytnutý například takto: https://github.com/CSSEGISandData/COVID-19/blob/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv (John Hopkins data ohledně koronaviru), stačí mi zadat URL do pythonu, jednou funkcí vše načtu jako dataframe a můžu rovnou pracovat.
Tedy technický jazyk klidně změnme, ale není to úplně téma tohoto issue.
Udělal jsem další drobný experiment:
Udělal jsem kopii tabulky emise svět, která má nejvíc listů a vůbec komplikované výstupy a zpracoval dvě ze čtyř tabulek do exportního listu, kde mám formátování čísel bez mezer pro tisíce: https://docs.google.com/spreadsheets/d/1o9n4uiTVGX5GQBUIz_l7xfpZCeOdKVu4f4qdDSKlyo8/edit#gid=0
Jsou to jen odkázaný data s ručně přepsanýma názvama sloupců, aby tam nebyly mezery ani diakritika.
Jazyk tabulky jsem zatím nechal na češtině, takže to má desetinnou čárku. Nejde nastavit zvlášť jazyk pro jednotlivé listy, ani nejde vnutit desetinné tečky v české tabulce.
Úvaha: takový list se dá snadno vzít a uložit jako csv / tsv. Taky to z toho můžeme snadno generovat pomocí strojových odkazů a nabídnout na webu faktaoklimatu jako csv přímo u stránky datasetu: [csv] https://docs.google.com/spreadsheets/d/1o9n4uiTVGX5GQBUIz_l7xfpZCeOdKVu4f4qdDSKlyo8/export?format=csv&id=1o9n4uiTVGX5GQBUIz_l7xfpZCeOdKVu4f4qdDSKlyo8&gid=1758609610 [tsv] https://docs.google.com/spreadsheets/d/1o9n4uiTVGX5GQBUIz_l7xfpZCeOdKVu4f4qdDSKlyo8/export?format=tsv&id=1o9n4uiTVGX5GQBUIz_l7xfpZCeOdKVu4f4qdDSKlyo8&gid=1758609610
Otázky: @protivinsky @kikinna Funguje to pro vás takto nebo potřebujete současně, aby jazyk dokumentu byl angličtina?
Na dnešní debatě o energetice zaznělo několik souvisejících nápadů:
- ukazuje se, že v komplikovanějších případech je složité generovat grafiky přes google spreadsheet. Zároveň však chceme uživatelům ukazovat, z jakých dat čerpáme a jak byla připravena pro infografiku.
- pokud budeme mít CSV soubory, můžeme snadno doplnit Jupyter notebook s pythonem / R scriptem, který názorně ilustruje zpracování dat a vygenerování grafu. Rovněž to výrazně usnadní práci dalším datařům s načítáním dat a pravděpodobně i nám generování nových grafů či jejich aktualizace v budoucnu.
Souhlas, tomu se vůbec nebráním...
O.
On Fri, 15 May 2020 at 12:17, Tomas Protivinsky [email protected] wrote:
Na dnešní debatě o energetice zaznělo několik souvisejících nápadů:
- ukazuje se, že v komplikovanějších případech je složité generovat grafiky přes google spreadsheet. Zároveň však chceme uživatelům ukazovat, z jakých dat čerpáme a jak byla připravena pro infografiku.
- pokud budeme mít CSV soubory, můžeme snadno doplnit Jupyter notebook s pythonem / R scriptem, který názorně ilustruje zpracování dat a vygenerování grafu. Rovněž to výrazně usnadní práci dalším datařům s načítáním dat a pravděpodobně i nám generování nových grafů či jejich aktualizace v budoucnu.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/faktaoklimatu/web/issues/468#issuecomment-629155160, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEED2ECRZ4KYPP2SBB3BZW3RRUJFNANCNFSM4L4KWY6A .
Toto issue zatím nemá přirazenou prioritu nebo projekt.
Poznamky z posledniho hackatonu: https://docs.google.com/document/d/13UYCzouV_1cCRR-AtA9RvIBSqgWIXjdI-YjL2AWzIg4/edit?fbclid=IwAR3CTW5VAwk_6G9ER-gAVnp1Fz-AWzSv6isk3bjOTU_zafa_9uI-dgZE1Bs Rad bych issue znovu obnovil a vyhledove posunul.
Souhlasím, je to potřeba udělat. Jen je to kus práce, tak jsem neměl energii to tlačit.
Jasne - myslim, ze ted je to posouvani hlavne na mne, abychom pripravili nejaky konkretni navrh ci ukazku. Takze to nemusis nijak resit.
Tak jsem to zkusil posunout, vytvořil jsem prototyp repa s notebooky a přijde mi to funkční: https://github.com/protivinsky/fakta-o-klimatu
- zatím jsem to dal jen na můj github, počítám že výhledově to přesuneme do samostatného repa pod Fakty o klimatu
- momentálně jsou notebooky orientované podle infografiky (každý replikuje jednu infografiky) - šlo by je orientovat i podle datasetů, ale u těch není přesně jasné, jak konkrétně by měly vypadat
- psal jsem vše anglicky, přijde mi to praktické pro případnou inspiraci podobných aktivit v jiných zemích
- myslím, že podobné tutoriály ve výsledku zjednodušší práci i mě samotnému, aspoň se budu lépe orientovat v tom, jak jsem co vytvořil
- třeba z toho jednou poskládáme nějaké školení o zpracování dat a o vizualizacích, dohromady s @kikinna :)
@jankrcal , @katkolouchova máte k tomu nějaké připomínky nebo podněty?
@protivinsky Tome, díky za vykopnutí :) Jako prototyp se mi to líbí a přijde mi to užitečné (z důvodů, které zmiňujeme v dokumentu výše).
- Napadá mě, jestli nějak tlačit na jednotnost použitého jazyka (nemyslím si, že je to teď potřeba). Ty pracuješ v pythonu, zatímco já se učím s R a třeba @mgrabovsky taky dělá analýzy hlavně v R. Možná to bude chtít uvést někam do úvodu, že pracujeme s oběma a pak ještě na začátek každého notebooku uvést, v jakém je jazyce?
- Taky přemýšlím, jestli budeme na notebooky odkazovat u infografik na stránkách. Za sebe jsem pro (aby bylo hned vidět, že něco takového zveřejňujeme a lze to použít). Nebo by se na něj odkazovalo z dosavadního spreadsheetu?
- Což mě přivádí k otázce, jak se to bude obecně doplňovat s dosavadními datasety. Nebude v některých případech matoucí, že jsou data zpracována jak v spreadsheetech, tak pomocí skriptu? Nemyslím si, že je nutné mít pro každou infografiku skript, ale asi by chtělo o tom někde srozumitelně informovat čtenáře a potenciální uživatele našich dat a postupů.
Díky Tome za práci!
Pár komentářů:
- Každá infografika podle mě bude mít buď Google Sheet (protože je to vhodnější formát nebo protože už to tak máme a nestojí to za předělávání) nebo notebook. Možná bych stál o jiný label na tlačítku, ať je to srozumitelné, ale dál to neřešil.
- Pracoval bych iterativně, tedy dva programovací jazyky bych (zatím) neřešil.
- Sheety bych orientoval podle infografiky, část se bude opakovat, ale to nevadí, důležité je, že budou sdílet stejná podkladová data.
- Jazyk textů kolem je pro mě velká otázka. Rozumím výhodám angličtiny, ale to platí pro celý web :) Potřeboval bych k tomu asi větší diskusi, kterou přes github neuděláme.
Díky za komentáře. A naprostý souhlas s potřebou větší diskuze - nechal bych to na nějaký hackaton (pokud budou), dřív asi nemá smysl to nikam posouvat. Jen letmé vyjádření k některým bodům:
- dva programovací jazyky za mě naprosto ok (cíle, o které nám jde především, to nijak nenarušuje)
- osobně bych zde preferoval angličtinu:
- skripty cílí na užší skupinu čtenářů, pro kterou by angličtina neměla být problém (je těžké být programátor / datový analytik a nebýt schopen číst anglicky)
- mohou inspirovat skupiny v dalších zemích k vytvoření podobných webů / jazykových mutací
- u některých grafik máme odlišené naše zpracovaná data a originální zdrojová, za mě můžeme podobně odlišit i notebooky. Tzn. by mi přišlo také ok, pokud by u některých grafik byl jak spreadsheet, tak notebook.
Dohodnuto na víkendu:
- notebooky se skripty budou vždy doplněny i google spreadsheetem, stačí když obsahuje popsanou a okomentovanou finální tabulku (v češtině)
- notebooky se skripty budou v angličtině
- zatím jsou notebooky strukturované podle infografik, v budoucnu mohou být samostatné notebooky na základní datasety a následně notebooky generující různé grafiky z těchto základních datasetů
- notebooky teď stačí jen odkazovat, v budoucnu možná budou mít nějaký popis podobný jako datasety na stránkách
Další kroky:
- [ ] vytvořit repo faktaoklimatu/data @protivinsky
- [ ] překlopit do repa první notebooky
- [ ] přidat k daným grafikám rozbalovací šipečku u našich dat a kromě spreadsheetu odkazovat i na náš notebook