You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: python-pro-data-1/datova-analyza/datova-analyza.md
+2-180Lines changed: 2 additions & 180 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,14 +19,14 @@ Do datové analýzy můžeme započítat velké množství činnost. Typickými
19
19
20
20
Různé zdroje se shodují, že nejvíce času je věnování právě získávání a čištění dat. Je to i klíčový bod, protože s chybnými nebo špatně upravenými daty zpravidla dojdeme ke špatným závěrům. Zpravidla máme data z více zdrojů, pak je nutné data správně propojit (např. osoby bychom neměli propojovat podle jména a příjmení, protože v datech můžeme mít více osob se stejným jménem a příjmením).
21
21
22
-
####Strojové učení
22
+
### Strojové učení
23
23
24
24
Součástí zpracování je i **strojové učení** (machine learning), což si můžeme představit jako používání různých algoritmů k hledání společných trendů a závislostí mezi daty a vytváření predikcí. Často je to označování jako **datová věda** (machine learning).
25
25
26
26
Strojové učení má spoustu různých aplikací. Služby jako Netflix nebo Youtube mají spoustu dat o tom, jaká videa uživatel sledoval, a úkolem datové vědy je nabízet uživatelům obsah, který je zaujme. U kybernetické bezpečnosti máme spoustu dat o tom, jaká data putují sítí, a úkolem je rozpoznat podezřelý provoz, který může být způsoben nějakým kybernetickým útokem.
27
27
28
28
29
-
####Proč se datovou analýzou zabýváme
29
+
### Proč se datovou analýzou zabýváme
30
30
31
31
V současné době zažívá datová analýza a strojové učení velký rozmach. To má několik předpokladů:
32
32
@@ -37,181 +37,3 @@ V současné době zažívá datová analýza a strojové učení velký rozmach
37
37
Kromě Pythonu se pro zpracování dat používá jazyk R. Výhodou Pythonu je, že jde o obecný jazyk, se kterým můžeme provádět spoustu dalších věcí, R je jazyk zaměřený pouze na zpracování dat.
38
38
39
39
Pro Python existuje obrovské množství nástrojů, které pro analýzu dat můžeme použít. My si ukážeme moduly `pandas` a `matplotlib`.
40
-
41
-
### Odkud data bereme
42
-
43
-
Data se nejčastěji nachází v databázích nebo v souborech.
44
-
45
-
Data můžeme v základu rozdělit na textová data (včetně dat, která můžeme na texty převést), videa, obrázky a zvuky atd. My se budeme zabývat textovými daty, protože ty jsou pro zpracování nejjednodušší.
46
-
47
-
#### Zápisy textových dat
48
-
49
-
Podívejme se nyní na základní formáty, jak zapisovat data. Pro nás nejznámější formou je tabulka.
50
-
51
-
| Jméno | Věc | Částka v korunách |
52
-
| :----- | :-------------- | ----------------: |
53
-
| Petr | Prací prášek | 399 |
54
-
| Ondra | Savo | 80 |
55
-
| Petr | Toaletní papír | 65 |
56
-
| Libor | Pivo | 124 |
57
-
| Petr | Pytel na odpadky | 75 |
58
-
| Míša | Utěrky na nádobí | 130 |
59
-
| Ondra | Toaletní papír | 120 |
60
-
| Míša | Pečící papír | 30 |
61
-
| Zuzka | Savo | 80 |
62
-
| Pavla | Máslo | 50 |
63
-
| Ondra | Káva | 300 |
64
-
65
-
S tabulkami pracujeme v software Microsoft Excel (soubory mají příponu `.xlsx`), případně v alternativách jako Google Spreadsheet, Libre Office Calc atd. Python umí pracovat přímo se soubory XLSX, slouží k tomu modul `openpyxl` (můžete ho stáhnout [zde](https://openpyxl.readthedocs.io/en/stable/)), případně s nimi lze pracovat i v `pandas`. Práce s nimi je ale poměrně složitá, proto budeme používat soubory CSV.
66
-
67
-
Soubor CSV obsahuje data v textové podobě ve struktuře podobné tabulce. Jednotlivé buňky jsou odděleny **středníky** nebo **čárkami**. Většinou závisí na nastavení našeho systému.
68
-
69
-
```
70
-
Jméno,Věc,Částka v korunách
71
-
Petr,Prací prášek,399
72
-
Ondra,Savo,80
73
-
Petr,Toaletní papír,65
74
-
Libor,Pivo,124
75
-
Petr,Pytel na odpadky,75
76
-
Míša,Utěrky na nádobí,130
77
-
Ondra,Toaletní papír,120
78
-
Míša,Pečící papír,30
79
-
Zuzka,Savo,80
80
-
Pavla,Máslo,50
81
-
Ondra,Káva,300
82
-
```
83
-
84
-
Kromě CVS používáme další dva důležité formáty: JSON (JavaScript Object Notation), XML (Extensible Markup Language).
85
-
86
-
Formát JSON ti bude povědomý, pokud už jsi v Pythonu pracoval(a) se slovníky (`dict`). Na první pohled vypadají téměř stejně. Python ti navíc jednoduše umožní data ve formátu JSON převést na slovníky a seznamy. K tomu slouží modul příhodně pojmenovaný `json`. S tímto formátem si ale hravě poradí i `pandas`.
87
-
88
-
```json
89
-
[
90
-
{
91
-
"Jméno": "Petr",
92
-
"Věc": "Prací prášek",
93
-
"Částka v korunách": 399
94
-
},
95
-
{
96
-
"Jméno": "Ondra",
97
-
"Věc": "Savo",
98
-
"Částka v korunách": 80
99
-
},
100
-
{
101
-
"Jméno": "Petr",
102
-
"Věc": "Toaletní papír",
103
-
"Částka v korunách": 65
104
-
},
105
-
{
106
-
"Jméno": "Libor",
107
-
"Věc": "Pivo",
108
-
"Částka v korunách": 124
109
-
},
110
-
{
111
-
"Jméno": "Petr",
112
-
"Věc": "Pytel na odpadky",
113
-
"Částka v korunách": 75
114
-
},
115
-
{
116
-
"Jméno": "Míša",
117
-
"Věc": "Utěrky na nádobí",
118
-
"Částka v korunách": 130
119
-
},
120
-
{
121
-
"Jméno": "Ondra",
122
-
"Věc": "Toaletní papír",
123
-
"Částka v korunách": 120
124
-
},
125
-
{
126
-
"Jméno": "Míša",
127
-
"Věc": "Pečící papír",
128
-
"Částka v korunách": 30
129
-
},
130
-
{
131
-
"Jméno": "Zuzka",
132
-
"Věc": "Savo",
133
-
"Částka v korunách": 80
134
-
},
135
-
{
136
-
"Jméno": "Pavla",
137
-
"Věc": "Máslo",
138
-
"Částka v korunách": 50
139
-
},
140
-
{
141
-
"Jméno": "Ondra",
142
-
"Věc": "Káva",
143
-
"Částka v korunách": 300
144
-
}
145
-
]
146
-
```
147
-
148
-
Dalším používaným formátem je XML. XML je velmi podobné HTML, tedy jazyku, kterým určujeme, jak má vypadat webová stránka.
XML (a HTML) je založeno na párových značkách (tag). V naší ukázce máme například párovou značku `nákupy`, v níž leží veškerá data. Dále máme značku `nákup`, která symbolizuje řádek tabulky. Každá dvojice se skládá ze zahajovací a ukončovací značky. Ukončovací značku poznáme podle symbolu lomítka (`/`).
168
-
169
-
Každá značka může mít atributy (attribute), v našem případě máme atributy `jméno` a `věc`. Vždy píšeme název atributu, symbol `=` a hodnotu atributu v uvozovkách (podobně jako v Pythonu můžeme používat apostrofy `'` i složené uvozovky `"`).
170
-
171
-
Tag může mít i hodnotu, kterou píšeme mezi zahajovací a ukončovací značku.
172
-
173
-
Protože data zapisujeme jako hodnoty a atributy, můžeme jednu tabulku zapsat více způsoby.
174
-
175
-
U obou formátů musíme dodržovat základní pravidla, jinak bude soubor pro počítač nečitelný.
176
-
177
-
#### Čtení na doma - formát YAML
178
-
179
-
Nejnovějším z formátů je YAML (YAML Ain't Markup Language), který vznikl v roce 2011. Byl vyvinut s ohledem pro snadnou čtenost člověkem.
180
-
181
-
```yaml
182
-
- Jméno: Petr
183
-
Věc: Prací prášek
184
-
Částka v korunách: 399
185
-
- Jméno: Ondra
186
-
Věc: Savo
187
-
Částka v korunách: 80
188
-
- Jméno: Petr
189
-
Věc: Toaletní papír
190
-
Částka v korunách: 65
191
-
- Jméno: Libor
192
-
Věc: Pivo
193
-
Částka v korunách: 124
194
-
- Jméno: Petr
195
-
Věc: Pytel na odpadky
196
-
Částka v korunách: 75
197
-
- Jméno: Míša
198
-
Věc: Utěrky na nádobí
199
-
Částka v korunách: 130
200
-
- Jméno: Ondra
201
-
Věc: Toaletní papír
202
-
Částka v korunách: 120
203
-
- Jméno: Míša
204
-
Věc: Pečící papír
205
-
Částka v korunách: 30
206
-
- Jméno: Zuzka
207
-
Věc: Savo
208
-
Částka v korunách: 80
209
-
- Jméno: Pavla
210
-
Věc: Máslo
211
-
Částka v korunách: 50
212
-
- Jméno: Ondra
213
-
Věc: Káva
214
-
Částka v korunách: 300
215
-
```
216
-
217
-
Používá se především pro zapisování konfigurace programů.
Data se nejčastěji nachází v databázích nebo v souborech.
4
+
5
+
Data můžeme v základu rozdělit na textová data (včetně dat, která můžeme na texty převést), videa, obrázky a zvuky atd. My se budeme zabývat textovými daty, protože ty jsou pro zpracování nejjednodušší.
6
+
7
+
### Zápisy textových dat
8
+
9
+
Podívejme se nyní na základní formáty, jak zapisovat data. Pro nás nejznámější formou je tabulka.
10
+
11
+
| Jméno | Věc | Částka v korunách |
12
+
| :----- | :-------------- | ----------------: |
13
+
| Petr | Prací prášek | 399 |
14
+
| Ondra | Savo | 80 |
15
+
| Petr | Toaletní papír | 65 |
16
+
| Libor | Pivo | 124 |
17
+
| Petr | Pytel na odpadky | 75 |
18
+
| Míša | Utěrky na nádobí | 130 |
19
+
| Ondra | Toaletní papír | 120 |
20
+
| Míša | Pečící papír | 30 |
21
+
| Zuzka | Savo | 80 |
22
+
| Pavla | Máslo | 50 |
23
+
| Ondra | Káva | 300 |
24
+
25
+
S tabulkami pracujeme v software Microsoft Excel (soubory mají příponu `.xlsx`), případně v alternativách jako Google Spreadsheet, Libre Office Calc atd. Python umí pracovat přímo se soubory XLSX, slouží k tomu modul `openpyxl` (můžete ho stáhnout [zde](https://openpyxl.readthedocs.io/en/stable/)), případně s nimi lze pracovat i v `pandas`. Práce s nimi je ale poměrně složitá, proto budeme používat soubory CSV.
26
+
27
+
Soubor CSV obsahuje data v textové podobě ve struktuře podobné tabulce. Jednotlivé buňky jsou odděleny **středníky** nebo **čárkami**. Většinou závisí na nastavení našeho systému.
28
+
29
+
```
30
+
Jméno,Věc,Částka v korunách
31
+
Petr,Prací prášek,399
32
+
Ondra,Savo,80
33
+
Petr,Toaletní papír,65
34
+
Libor,Pivo,124
35
+
Petr,Pytel na odpadky,75
36
+
Míša,Utěrky na nádobí,130
37
+
Ondra,Toaletní papír,120
38
+
Míša,Pečící papír,30
39
+
Zuzka,Savo,80
40
+
Pavla,Máslo,50
41
+
Ondra,Káva,300
42
+
```
43
+
44
+
Kromě CVS používáme další dva důležité formáty: JSON (JavaScript Object Notation), XML (Extensible Markup Language).
45
+
46
+
Formát JSON ti bude povědomý, pokud už jsi v Pythonu pracoval(a) se slovníky (`dict`). Na první pohled vypadají téměř stejně. Python ti navíc jednoduše umožní data ve formátu JSON převést na slovníky a seznamy. K tomu slouží modul příhodně pojmenovaný `json`. S tímto formátem si ale hravě poradí i `pandas`.
47
+
48
+
```json
49
+
[
50
+
{
51
+
"Jméno": "Petr",
52
+
"Věc": "Prací prášek",
53
+
"Částka v korunách": 399
54
+
},
55
+
{
56
+
"Jméno": "Ondra",
57
+
"Věc": "Savo",
58
+
"Částka v korunách": 80
59
+
},
60
+
{
61
+
"Jméno": "Petr",
62
+
"Věc": "Toaletní papír",
63
+
"Částka v korunách": 65
64
+
},
65
+
{
66
+
"Jméno": "Libor",
67
+
"Věc": "Pivo",
68
+
"Částka v korunách": 124
69
+
},
70
+
{
71
+
"Jméno": "Petr",
72
+
"Věc": "Pytel na odpadky",
73
+
"Částka v korunách": 75
74
+
},
75
+
{
76
+
"Jméno": "Míša",
77
+
"Věc": "Utěrky na nádobí",
78
+
"Částka v korunách": 130
79
+
},
80
+
{
81
+
"Jméno": "Ondra",
82
+
"Věc": "Toaletní papír",
83
+
"Částka v korunách": 120
84
+
},
85
+
{
86
+
"Jméno": "Míša",
87
+
"Věc": "Pečící papír",
88
+
"Částka v korunách": 30
89
+
},
90
+
{
91
+
"Jméno": "Zuzka",
92
+
"Věc": "Savo",
93
+
"Částka v korunách": 80
94
+
},
95
+
{
96
+
"Jméno": "Pavla",
97
+
"Věc": "Máslo",
98
+
"Částka v korunách": 50
99
+
},
100
+
{
101
+
"Jméno": "Ondra",
102
+
"Věc": "Káva",
103
+
"Částka v korunách": 300
104
+
}
105
+
]
106
+
```
107
+
108
+
Dalším používaným formátem je XML. XML je velmi podobné HTML, tedy jazyku, kterým určujeme, jak má vypadat webová stránka.
XML (a HTML) je založeno na párových značkách (tag). V naší ukázce máme například párovou značku `nákupy`, v níž leží veškerá data. Dále máme značku `nákup`, která symbolizuje řádek tabulky. Každá dvojice se skládá ze zahajovací a ukončovací značky. Ukončovací značku poznáme podle symbolu lomítka (`/`).
128
+
129
+
Každá značka může mít atributy (attribute), v našem případě máme atributy `jméno` a `věc`. Vždy píšeme název atributu, symbol `=` a hodnotu atributu v uvozovkách (podobně jako v Pythonu můžeme používat apostrofy `'` i složené uvozovky `"`).
130
+
131
+
Tag může mít i hodnotu, kterou píšeme mezi zahajovací a ukončovací značku.
132
+
133
+
Protože data zapisujeme jako hodnoty a atributy, můžeme jednu tabulku zapsat více způsoby.
134
+
135
+
U obou formátů musíme dodržovat základní pravidla, jinak bude soubor pro počítač nečitelný.
136
+
137
+
### Čtení na doma - formát YAML
138
+
139
+
Nejnovějším z formátů je YAML (YAML Ain't Markup Language), který vznikl v roce 2011. Byl vyvinut s ohledem pro snadnou čtenost člověkem.
140
+
141
+
```yaml
142
+
- Jméno: Petr
143
+
Věc: Prací prášek
144
+
Částka v korunách: 399
145
+
- Jméno: Ondra
146
+
Věc: Savo
147
+
Částka v korunách: 80
148
+
- Jméno: Petr
149
+
Věc: Toaletní papír
150
+
Částka v korunách: 65
151
+
- Jméno: Libor
152
+
Věc: Pivo
153
+
Částka v korunách: 124
154
+
- Jméno: Petr
155
+
Věc: Pytel na odpadky
156
+
Částka v korunách: 75
157
+
- Jméno: Míša
158
+
Věc: Utěrky na nádobí
159
+
Částka v korunách: 130
160
+
- Jméno: Ondra
161
+
Věc: Toaletní papír
162
+
Částka v korunách: 120
163
+
- Jméno: Míša
164
+
Věc: Pečící papír
165
+
Částka v korunách: 30
166
+
- Jméno: Zuzka
167
+
Věc: Savo
168
+
Částka v korunách: 80
169
+
- Jméno: Pavla
170
+
Věc: Máslo
171
+
Částka v korunách: 50
172
+
- Jméno: Ondra
173
+
Věc: Káva
174
+
Částka v korunách: 300
175
+
```
176
+
177
+
Používá se především pro zapisování konfigurace programů.
0 commit comments