Když se bere kanón na mouchu | Mňamka #52

Štěstí přeje připraveným

Ještě si živě pamatuju, když všechny moje projekty v Pythonu začínaly následujícími řádkami:

Přišlo mi to neprůstřelný. Nemůže mi přece chybět žádný modul, když je tam mám všechny. Četné nadávky linteru jsem ignoroval s myšlenkou: Já přece vím, co používám. Na první pohled je z importů zřejmé, že se jednalo o aplikaci, která pracovala se souborovým systémem, konkrétně pak s daty ve formátech JSON a CSV. Navíc docela nízkoúrovňově přistupovala k síti, s daty dělala nějakou tu dejta sájenc a byla to… hra?

Moje teorie byla taková, že když během kódění zjistím, že něco potřebuju, už to prostě rovnou budu mít. Štěstí přeje připraveným, ne?

Na zkoušku jsem vytvořil venv a nahrál do něj pomocí pip výše zmíněné balíčky. Prázdný venv má u mě kolem 7 MB, po nainstalování balíčků to bylo 150 MB. Samotný pandas má po instalaci všech závislostí (jako je třeba numpy) 113 MB. Dneska nikoho megabajt sem nebo megabajt tam úplně netrápí; v době, kdy váš repozitář může existovat v nesčetně kopiích napříč datovými centry a CDN po celém světě, a nikdo jeho 113 MB pandasu a jeden prázdný soubor s názvem hello-world.py nezaznamená, se to může zdát jako zbytečná buzerace, ale já když vidím ve skriptu na převedení TSV do CSV na začátku import pandas as pd, většinou se zhluboka nadechnu a začnu dělat problémy.

Orat se dá lecčím

Když zjistíte, že se vaším nosem dá tak trochu orat v zemi, stejně si radši na pole pořídíte třeba rádlo. A stejně je to s pandasem. Ono se to dá použít na otevření CSV. Ale ono to k tomu není primárně určené. pandas je jako švýcarák, a setsakramentsky dobrej švýcarák, ale víno se prostě většinou otevírá líp vývrtkou.

Může to vypadat, že jsem si zasedl na pandas; já opravdu vím, že je to skvělý balík modulů. Ale z mé zkušenosti se občas používá moc. Na srazu dejta sájentistů si musí pandas připadat trochu jako jediná žena na gang bangu.

Každý sklízí, co zasel

V Bizztreat jsem se naučil jedno strašně pěkný pravidlo - používej správný nástroj na požadovanou činnost.

O hodinu později koukám, co se hergot děje, že se mi ten obraz nechce a nechce sestavit. Nahlédnu do Dockerfile a představuji si, že takhle nějak vypadaly myšlenky autora:

  • Tom říkal, ať ty obrazy děláme malý, postavím to na Alpine Linux.
  • Moje appka používá pandas, tak teda pip install pandas.
  • Ahá, ono to na Alpine nejde, tak já tam přidám závislosti pro sestavování C knihoven pro Python.
  • pip install pandas
  • Ty jo, trvá to docela dlouho, ale sestavilo se to.
  • Hotovka libovka.

A na co appka ten pandas potřebuje?

Zjišťuje záhlaví céesvéčka.

Až se ucho utrhlo

Abych nebyl jenom za nerváka, co nadává na pandas, takhle prosím se dá docela snadno otevřít céescvéčko bez něj:

Tom

Máte k článku nějaké otázky nebo připomínky? Klidně mi napište, rád to s Vámi proberu :-)

Tomáš Votava
CTOmča - datový detektiv
LinkedIn

Seznamte se s Kats - jednotným kontaktním místem pro analýzu časových řad | Mňamka #203

Seznamte se s Kats - jednotným kontaktním místem pro analýzu časových řad | Mňamka #203

Pojďme se podívat na Kats – novou knihovnu v Pythonu pro analýzu časových řad! Kats je elegantně použitelný framework pro obecnou analýzu časových řad, včetně předpovědí nebo vícerozměrné analýzy a extrakce/vložení funkcí. Poskytuje klasické i pokročilé techniky pro modelování dat časových řad!

Jak si přidat vlastní KPIs do Airflow | Mňamka #202

Jak si přidat vlastní KPIs do Airflow | Mňamka #202

Airflow nám umožňuje programově vytvářet, plánovat a následně sledovat workflow. Standardní UI v Airflow nám umožňuje zobrazit pipelines a filtry. Jenže.. jak se zvyšuje počet pipelines, stává se mnohem složitější vyfiltrovat to, co potřebujeme. Jak si přidat vlastní pohledy/filtry na vaše DAGs v Airflow? Podívejte se, jak na to!

Jak využít Pohodu (a jiné datové zdroje) v BI? | Mňamka #201

Jak využít Pohodu (a jiné datové zdroje) v BI? | Mňamka #201

Vědět, v jaké je firma finanční kondici a kam pluje je jedna z klíčových věcí pro její správné kormidlování. Jenže jak to dát všechno dohromady? Jak využít všechny ty datové zdroje, které máme k dispozici? Potřebujete mít všechny finanční pohledy aktuální pár minut po zaúčtování dokladu? Pojďme se na to podívat krok za krokem – jen namátkově vytvoření mappingů, očištění dat, datový model a na závěr už chybí jen pár vymazlených dashboardů!