├── LICENSE
├── README.md
├── data
├── 2022.wav
├── CAC40.csv
├── CAC40.txt
├── SMSSpamCollection
├── base-comparateur-de-territoires.csv
├── calendar_extrait.csv
├── credit.xlsx
├── data.json
├── data.parquet
├── data_idf.RData
├── elephant.png
├── employee-earnings-report-2017.csv
├── listing_extrait.csv
├── salaries.sqlite
├── telecom.csv
├── x_telecom.csv
└── y_telecom.csv
├── environment.yml
├── notebooks
├── 02_python_from_scratch.ipynb
├── 03_numpy_pandas_bases.ipynb
├── 04_01_recuperation_des_donnees.ipynb
├── 04_02_manipulation_description_des_donnees.ipynb
├── 05_01_Data_visualisation_matplotlib_seaborn.ipynb
├── 05_02_Data_visualisation_cartographie.ipynb
├── 05_03_Visualisations_interactives.ipynb
├── 06_01_Machine_learning_supervise.ipynb
├── 06_02_Machine_learning_non_supervise.ipynb
├── 06_03_NLP.ipynb
├── 06_04_Deep_Learning.ipynb
├── 07_01_Big_data_import.ipynb
└── 07_02_Spark.ipynb
├── other
├── NLTK-downloader.png
├── nuage-points.mp4
└── python-pour-le-data-scientist-dunod.jpeg
└── requirements-conda.txt
/LICENSE:
--------------------------------------------------------------------------------
1 | Attribution-ShareAlike 4.0 International
2 |
3 | =======================================================================
4 |
5 | Creative Commons Corporation ("Creative Commons") is not a law firm and
6 | does not provide legal services or legal advice. Distribution of
7 | Creative Commons public licenses does not create a lawyer-client or
8 | other relationship. Creative Commons makes its licenses and related
9 | information available on an "as-is" basis. Creative Commons gives no
10 | warranties regarding its licenses, any material licensed under their
11 | terms and conditions, or any related information. Creative Commons
12 | disclaims all liability for damages resulting from their use to the
13 | fullest extent possible.
14 |
15 | Using Creative Commons Public Licenses
16 |
17 | Creative Commons public licenses provide a standard set of terms and
18 | conditions that creators and other rights holders may use to share
19 | original works of authorship and other material subject to copyright
20 | and certain other rights specified in the public license below. The
21 | following considerations are for informational purposes only, are not
22 | exhaustive, and do not form part of our licenses.
23 |
24 | Considerations for licensors: Our public licenses are
25 | intended for use by those authorized to give the public
26 | permission to use material in ways otherwise restricted by
27 | copyright and certain other rights. Our licenses are
28 | irrevocable. Licensors should read and understand the terms
29 | and conditions of the license they choose before applying it.
30 | Licensors should also secure all rights necessary before
31 | applying our licenses so that the public can reuse the
32 | material as expected. Licensors should clearly mark any
33 | material not subject to the license. This includes other CC-
34 | licensed material, or material used under an exception or
35 | limitation to copyright. More considerations for licensors:
36 | wiki.creativecommons.org/Considerations_for_licensors
37 |
38 | Considerations for the public: By using one of our public
39 | licenses, a licensor grants the public permission to use the
40 | licensed material under specified terms and conditions. If
41 | the licensor's permission is not necessary for any reason--for
42 | example, because of any applicable exception or limitation to
43 | copyright--then that use is not regulated by the license. Our
44 | licenses grant only permissions under copyright and certain
45 | other rights that a licensor has authority to grant. Use of
46 | the licensed material may still be restricted for other
47 | reasons, including because others have copyright or other
48 | rights in the material. A licensor may make special requests,
49 | such as asking that all changes be marked or described.
50 | Although not required by our licenses, you are encouraged to
51 | respect those requests where reasonable. More_considerations
52 | for the public:
53 | wiki.creativecommons.org/Considerations_for_licensees
54 |
55 | =======================================================================
56 |
57 | Creative Commons Attribution-ShareAlike 4.0 International Public
58 | License
59 |
60 | By exercising the Licensed Rights (defined below), You accept and agree
61 | to be bound by the terms and conditions of this Creative Commons
62 | Attribution-ShareAlike 4.0 International Public License ("Public
63 | License"). To the extent this Public License may be interpreted as a
64 | contract, You are granted the Licensed Rights in consideration of Your
65 | acceptance of these terms and conditions, and the Licensor grants You
66 | such rights in consideration of benefits the Licensor receives from
67 | making the Licensed Material available under these terms and
68 | conditions.
69 |
70 |
71 | Section 1 -- Definitions.
72 |
73 | a. Adapted Material means material subject to Copyright and Similar
74 | Rights that is derived from or based upon the Licensed Material
75 | and in which the Licensed Material is translated, altered,
76 | arranged, transformed, or otherwise modified in a manner requiring
77 | permission under the Copyright and Similar Rights held by the
78 | Licensor. For purposes of this Public License, where the Licensed
79 | Material is a musical work, performance, or sound recording,
80 | Adapted Material is always produced where the Licensed Material is
81 | synched in timed relation with a moving image.
82 |
83 | b. Adapter's License means the license You apply to Your Copyright
84 | and Similar Rights in Your contributions to Adapted Material in
85 | accordance with the terms and conditions of this Public License.
86 |
87 | c. BY-SA Compatible License means a license listed at
88 | creativecommons.org/compatiblelicenses, approved by Creative
89 | Commons as essentially the equivalent of this Public License.
90 |
91 | d. Copyright and Similar Rights means copyright and/or similar rights
92 | closely related to copyright including, without limitation,
93 | performance, broadcast, sound recording, and Sui Generis Database
94 | Rights, without regard to how the rights are labeled or
95 | categorized. For purposes of this Public License, the rights
96 | specified in Section 2(b)(1)-(2) are not Copyright and Similar
97 | Rights.
98 |
99 | e. Effective Technological Measures means those measures that, in the
100 | absence of proper authority, may not be circumvented under laws
101 | fulfilling obligations under Article 11 of the WIPO Copyright
102 | Treaty adopted on December 20, 1996, and/or similar international
103 | agreements.
104 |
105 | f. Exceptions and Limitations means fair use, fair dealing, and/or
106 | any other exception or limitation to Copyright and Similar Rights
107 | that applies to Your use of the Licensed Material.
108 |
109 | g. License Elements means the license attributes listed in the name
110 | of a Creative Commons Public License. The License Elements of this
111 | Public License are Attribution and ShareAlike.
112 |
113 | h. Licensed Material means the artistic or literary work, database,
114 | or other material to which the Licensor applied this Public
115 | License.
116 |
117 | i. Licensed Rights means the rights granted to You subject to the
118 | terms and conditions of this Public License, which are limited to
119 | all Copyright and Similar Rights that apply to Your use of the
120 | Licensed Material and that the Licensor has authority to license.
121 |
122 | j. Licensor means the individual(s) or entity(ies) granting rights
123 | under this Public License.
124 |
125 | k. Share means to provide material to the public by any means or
126 | process that requires permission under the Licensed Rights, such
127 | as reproduction, public display, public performance, distribution,
128 | dissemination, communication, or importation, and to make material
129 | available to the public including in ways that members of the
130 | public may access the material from a place and at a time
131 | individually chosen by them.
132 |
133 | l. Sui Generis Database Rights means rights other than copyright
134 | resulting from Directive 96/9/EC of the European Parliament and of
135 | the Council of 11 March 1996 on the legal protection of databases,
136 | as amended and/or succeeded, as well as other essentially
137 | equivalent rights anywhere in the world.
138 |
139 | m. You means the individual or entity exercising the Licensed Rights
140 | under this Public License. Your has a corresponding meaning.
141 |
142 |
143 | Section 2 -- Scope.
144 |
145 | a. License grant.
146 |
147 | 1. Subject to the terms and conditions of this Public License,
148 | the Licensor hereby grants You a worldwide, royalty-free,
149 | non-sublicensable, non-exclusive, irrevocable license to
150 | exercise the Licensed Rights in the Licensed Material to:
151 |
152 | a. reproduce and Share the Licensed Material, in whole or
153 | in part; and
154 |
155 | b. produce, reproduce, and Share Adapted Material.
156 |
157 | 2. Exceptions and Limitations. For the avoidance of doubt, where
158 | Exceptions and Limitations apply to Your use, this Public
159 | License does not apply, and You do not need to comply with
160 | its terms and conditions.
161 |
162 | 3. Term. The term of this Public License is specified in Section
163 | 6(a).
164 |
165 | 4. Media and formats; technical modifications allowed. The
166 | Licensor authorizes You to exercise the Licensed Rights in
167 | all media and formats whether now known or hereafter created,
168 | and to make technical modifications necessary to do so. The
169 | Licensor waives and/or agrees not to assert any right or
170 | authority to forbid You from making technical modifications
171 | necessary to exercise the Licensed Rights, including
172 | technical modifications necessary to circumvent Effective
173 | Technological Measures. For purposes of this Public License,
174 | simply making modifications authorized by this Section 2(a)
175 | (4) never produces Adapted Material.
176 |
177 | 5. Downstream recipients.
178 |
179 | a. Offer from the Licensor -- Licensed Material. Every
180 | recipient of the Licensed Material automatically
181 | receives an offer from the Licensor to exercise the
182 | Licensed Rights under the terms and conditions of this
183 | Public License.
184 |
185 | b. Additional offer from the Licensor -- Adapted Material.
186 | Every recipient of Adapted Material from You
187 | automatically receives an offer from the Licensor to
188 | exercise the Licensed Rights in the Adapted Material
189 | under the conditions of the Adapter's License You apply.
190 |
191 | c. No downstream restrictions. You may not offer or impose
192 | any additional or different terms or conditions on, or
193 | apply any Effective Technological Measures to, the
194 | Licensed Material if doing so restricts exercise of the
195 | Licensed Rights by any recipient of the Licensed
196 | Material.
197 |
198 | 6. No endorsement. Nothing in this Public License constitutes or
199 | may be construed as permission to assert or imply that You
200 | are, or that Your use of the Licensed Material is, connected
201 | with, or sponsored, endorsed, or granted official status by,
202 | the Licensor or others designated to receive attribution as
203 | provided in Section 3(a)(1)(A)(i).
204 |
205 | b. Other rights.
206 |
207 | 1. Moral rights, such as the right of integrity, are not
208 | licensed under this Public License, nor are publicity,
209 | privacy, and/or other similar personality rights; however, to
210 | the extent possible, the Licensor waives and/or agrees not to
211 | assert any such rights held by the Licensor to the limited
212 | extent necessary to allow You to exercise the Licensed
213 | Rights, but not otherwise.
214 |
215 | 2. Patent and trademark rights are not licensed under this
216 | Public License.
217 |
218 | 3. To the extent possible, the Licensor waives any right to
219 | collect royalties from You for the exercise of the Licensed
220 | Rights, whether directly or through a collecting society
221 | under any voluntary or waivable statutory or compulsory
222 | licensing scheme. In all other cases the Licensor expressly
223 | reserves any right to collect such royalties.
224 |
225 |
226 | Section 3 -- License Conditions.
227 |
228 | Your exercise of the Licensed Rights is expressly made subject to the
229 | following conditions.
230 |
231 | a. Attribution.
232 |
233 | 1. If You Share the Licensed Material (including in modified
234 | form), You must:
235 |
236 | a. retain the following if it is supplied by the Licensor
237 | with the Licensed Material:
238 |
239 | i. identification of the creator(s) of the Licensed
240 | Material and any others designated to receive
241 | attribution, in any reasonable manner requested by
242 | the Licensor (including by pseudonym if
243 | designated);
244 |
245 | ii. a copyright notice;
246 |
247 | iii. a notice that refers to this Public License;
248 |
249 | iv. a notice that refers to the disclaimer of
250 | warranties;
251 |
252 | v. a URI or hyperlink to the Licensed Material to the
253 | extent reasonably practicable;
254 |
255 | b. indicate if You modified the Licensed Material and
256 | retain an indication of any previous modifications; and
257 |
258 | c. indicate the Licensed Material is licensed under this
259 | Public License, and include the text of, or the URI or
260 | hyperlink to, this Public License.
261 |
262 | 2. You may satisfy the conditions in Section 3(a)(1) in any
263 | reasonable manner based on the medium, means, and context in
264 | which You Share the Licensed Material. For example, it may be
265 | reasonable to satisfy the conditions by providing a URI or
266 | hyperlink to a resource that includes the required
267 | information.
268 |
269 | 3. If requested by the Licensor, You must remove any of the
270 | information required by Section 3(a)(1)(A) to the extent
271 | reasonably practicable.
272 |
273 | b. ShareAlike.
274 |
275 | In addition to the conditions in Section 3(a), if You Share
276 | Adapted Material You produce, the following conditions also apply.
277 |
278 | 1. The Adapter's License You apply must be a Creative Commons
279 | license with the same License Elements, this version or
280 | later, or a BY-SA Compatible License.
281 |
282 | 2. You must include the text of, or the URI or hyperlink to, the
283 | Adapter's License You apply. You may satisfy this condition
284 | in any reasonable manner based on the medium, means, and
285 | context in which You Share Adapted Material.
286 |
287 | 3. You may not offer or impose any additional or different terms
288 | or conditions on, or apply any Effective Technological
289 | Measures to, Adapted Material that restrict exercise of the
290 | rights granted under the Adapter's License You apply.
291 |
292 |
293 | Section 4 -- Sui Generis Database Rights.
294 |
295 | Where the Licensed Rights include Sui Generis Database Rights that
296 | apply to Your use of the Licensed Material:
297 |
298 | a. for the avoidance of doubt, Section 2(a)(1) grants You the right
299 | to extract, reuse, reproduce, and Share all or a substantial
300 | portion of the contents of the database;
301 |
302 | b. if You include all or a substantial portion of the database
303 | contents in a database in which You have Sui Generis Database
304 | Rights, then the database in which You have Sui Generis Database
305 | Rights (but not its individual contents) is Adapted Material,
306 |
307 | including for purposes of Section 3(b); and
308 | c. You must comply with the conditions in Section 3(a) if You Share
309 | all or a substantial portion of the contents of the database.
310 |
311 | For the avoidance of doubt, this Section 4 supplements and does not
312 | replace Your obligations under this Public License where the Licensed
313 | Rights include other Copyright and Similar Rights.
314 |
315 |
316 | Section 5 -- Disclaimer of Warranties and Limitation of Liability.
317 |
318 | a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
319 | EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
320 | AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
321 | ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
322 | IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
323 | WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
324 | PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
325 | ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
326 | KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
327 | ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
328 |
329 | b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
330 | TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
331 | NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
332 | INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
333 | COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
334 | USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
335 | ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
336 | DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
337 | IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
338 |
339 | c. The disclaimer of warranties and limitation of liability provided
340 | above shall be interpreted in a manner that, to the extent
341 | possible, most closely approximates an absolute disclaimer and
342 | waiver of all liability.
343 |
344 |
345 | Section 6 -- Term and Termination.
346 |
347 | a. This Public License applies for the term of the Copyright and
348 | Similar Rights licensed here. However, if You fail to comply with
349 | this Public License, then Your rights under this Public License
350 | terminate automatically.
351 |
352 | b. Where Your right to use the Licensed Material has terminated under
353 | Section 6(a), it reinstates:
354 |
355 | 1. automatically as of the date the violation is cured, provided
356 | it is cured within 30 days of Your discovery of the
357 | violation; or
358 |
359 | 2. upon express reinstatement by the Licensor.
360 |
361 | For the avoidance of doubt, this Section 6(b) does not affect any
362 | right the Licensor may have to seek remedies for Your violations
363 | of this Public License.
364 |
365 | c. For the avoidance of doubt, the Licensor may also offer the
366 | Licensed Material under separate terms or conditions or stop
367 | distributing the Licensed Material at any time; however, doing so
368 | will not terminate this Public License.
369 |
370 | d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
371 | License.
372 |
373 |
374 | Section 7 -- Other Terms and Conditions.
375 |
376 | a. The Licensor shall not be bound by any additional or different
377 | terms or conditions communicated by You unless expressly agreed.
378 |
379 | b. Any arrangements, understandings, or agreements regarding the
380 | Licensed Material not stated herein are separate from and
381 | independent of the terms and conditions of this Public License.
382 |
383 |
384 | Section 8 -- Interpretation.
385 |
386 | a. For the avoidance of doubt, this Public License does not, and
387 | shall not be interpreted to, reduce, limit, restrict, or impose
388 | conditions on any use of the Licensed Material that could lawfully
389 | be made without permission under this Public License.
390 |
391 | b. To the extent possible, if any provision of this Public License is
392 | deemed unenforceable, it shall be automatically reformed to the
393 | minimum extent necessary to make it enforceable. If the provision
394 | cannot be reformed, it shall be severed from this Public License
395 | without affecting the enforceability of the remaining terms and
396 | conditions.
397 |
398 | c. No term or condition of this Public License will be waived and no
399 | failure to comply consented to unless expressly agreed to by the
400 | Licensor.
401 |
402 | d. Nothing in this Public License constitutes or may be interpreted
403 | as a limitation upon, or waiver of, any privileges and immunities
404 | that apply to the Licensor or You, including from the legal
405 | processes of any jurisdiction or authority.
406 |
407 |
408 | =======================================================================
409 |
410 | Creative Commons is not a party to its public
411 | licenses. Notwithstanding, Creative Commons may elect to apply one of
412 | its public licenses to material it publishes and in those instances
413 | will be considered the “Licensor.” The text of the Creative Commons
414 | public licenses is dedicated to the public domain under the CC0 Public
415 | Domain Dedication. Except for the limited purpose of indicating that
416 | material is shared under a Creative Commons public license or as
417 | otherwise permitted by the Creative Commons policies published at
418 | creativecommons.org/policies, Creative Commons does not authorize the
419 | use of the trademark "Creative Commons" or any other trademark or logo
420 | of Creative Commons without its prior written consent including,
421 | without limitation, in connection with any unauthorized modifications
422 | to any of its public licenses or any other arrangements,
423 | understandings, or agreements concerning use of licensed material. For
424 | the avoidance of doubt, this paragraph does not form part of the
425 | public licenses.
426 |
427 | Creative Commons may be contacted at creativecommons.org.
428 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 | # Python pour le data scientist
4 |
5 | [](https://mybinder.org/v2/gh/emjako/pythondatascientist/master)
6 | [](https://colab.research.google.com/github/emjako/pythondatascientist)
7 |
8 |
9 | Ce répertoire rassemble des [Jupyter](https://jupyter.org/) Notebooks ainsi que des données permettant d'illustrer la troisième édition de l'ouvrage [Python pour le data scientist](https://www.dunod.com/sciences-techniques/python-pour-data-scientist-bases-du-langage-au-machine-learning-2) par Emmanuel Jakobowicz paru chez Dunod en mars 2024.
10 |
11 | Les notebooks sont divisés par chapitres ou sous-chapitres et sont rassemblés dans le répertoire [notebooks](/notebooks/).
12 |
13 | Les Jupyter Notebooks présents dans ce répertoire sont visibles directement sur GitHub. Si vous rencontrez des problèmes pour les afficher dans votre navigateur, je vous conseille d'utiliser le site [nbviewer](http://nbviewer.jupyter.org/).
14 |
15 | Pour utiliser ce répertoire, vous trouverez [des détails plus bas](#utilisation).
16 |
17 | ## Organisation du répertoire
18 |
19 | Les thèmes abordés sont les suivants :
20 |
21 | - [*Chapitre 2* - Les bases du langage](/notebooks/02_python_from_scratch.ipynb)
22 | - [*Chapitre 3* - Les structures pour traiter des données (NumPy / Pandas)](/notebooks/03_numpy_pandas_bases.ipynb)
23 | - *Chapitre 4* - La préparation des données
24 | - [*4.1* - La récupération des données](/notebooks/04_01_recuperation_des_donnees.ipynb)
25 | - [*4.2* - La préparation des données et les premières statistiques](/notebooks/04_02_manipulation_description_des_donnees.ipynb)
26 | - *Chapitre 5* - La data visualisation
27 | - [*5.1* - La data visualisation avec Matplotlib et Seaborn](/notebooks/05_01_Data_visualisation_matplotlib_seaborn.ipynb)
28 | - [*5.2* - La cartographie](/notebooks/05_02_Data_visualisation_cartographie.ipynb)
29 | - [*5.3* - Les dataviz interactives](/notebooks/05_03_Visualisations_interactives.ipynb)
30 | - *Chapitre 6* - Le machine learning et le deep learning
31 | - [*6.1* - Les approches supervisées](/notebooks/06_01_Machine_learning_supervise.ipynb)
32 | - [*6.2* - Les approches non supervisées](/notebooks/06_02_Machine_learning_non_supervise.ipynb)
33 | - [*6.3* - Le traitement des données textuelles (NLP)](/notebooks/06_03_NLP.ipynb)
34 | - [*6.4* - Le deep learning avec Keras](/notebooks/06_04_Deep_Learning.ipynb)
35 | - *Chapitre 7* - Les traitements "big data"
36 | - [*7.1* - Récupérer des données depuis une infrastructure big data](/notebooks/07_01_Big_data_import.ipynb)
37 | - [*7.2* - PySpark pour Apache Spark](/notebooks/07_02_Spark.ipynb)
38 |
39 |
40 | ## Les données
41 |
42 | Une partie des données utilisées dans l'ouvrage est disponible dans le répertoire [data](/data/), le reste des données est directement accessible par des liens dans les Notebooks (dans le cas où celles-ci sont trop volumineuses pour ce répertoire).
43 |
44 |
45 | ## Utilisation de ce répertoire
46 |
47 | ### Binder
48 |
49 | [](https://mybinder.org/v2/gh/emjako/pythondatascientist/master)
50 |
51 | Vous pouvez lancer les notebooks en utilisant le service MyBinder qui vous permettra de lancer vos Notebooks directement dans votre navigateur en cliquant sur le bouton ci-dessus (attention il faut parfois être patient).
52 |
53 | ### Installation locale
54 |
55 | Vous pouvez bien entendu parcourir ce répertoire et ses notebooks directement sur github.com mais ce que je vous conseille, c'est de télécharger tous le répertoire et d'installer Anaconda sur votre machine. Vous en trouverez une version ici :
56 |
57 | [https://www.anaconda.com/download/](https://www.anaconda.com/download/)
58 |
59 | Une fois que vous avez installé Anaconda, vous pouvez créer un environnement à partir du fichier [environment.yml](/environment.yml) disponible dans ce répertoire.
60 |
61 | Utilisez le terminal ou la ligne de commande Anaconda (Conda Prompt). Utilisez la commande :
62 | ```
63 | conda env create -n mon_nouvel_env -f environment.yml
64 | ```
65 |
66 | Il ne vous reste qu'à activer votre environnement en utilisant :
67 | - Pour MacOS et Linux :
68 | ```
69 | source activate mon_nouvel_env
70 | ```
71 |
72 | - Pour Windows :
73 | ```
74 | activate mon_nouvel_env
75 | ```
76 |
77 | Pour vérifier l'installation, utilisez :
78 | ```
79 | conda list
80 | ```
81 |
82 | Une fois votre environnement activé, utilisez la commande :
83 | ```
84 | jupyter notebook
85 | ```
86 | ou
87 | ```
88 | jupyter lab
89 | ```
90 | C'est parti, vous pouvez commencer à coder !
91 |
92 | **Attention :** il peut arriver que certains packages doivent être installés manuellement.
93 |
94 | ### Google Colab
95 |
96 | [](https://colab.research.google.com/github/emjako/pythondatascientist)
97 |
98 | Finalement, il existe une dernière solution, c'est l'utilisation du service de Google, Google Colab. Vous pouvez lancer des Notebooks directement dans Colab à partir du répertoire GitHub. Colab a l'avantage d'avoir installé la plupart des packages de data science. Pour lancer Colab, il vous faut un compte Google et il vous suffit de cliquer sur le bouton ci-dessus.
99 |
100 | ## Utilisation et licence
101 |
102 | Ce répertoire a pour but d'être évolutif, n'hésitez pas à la cloner et à vérifier son activité. Si vous avez des remarques ou si vous voulez ajouter des informations, faites-le-moi savoir !
103 |
104 |
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
105 |
--------------------------------------------------------------------------------
/data/2022.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/emjako/pythondatascientist/eb5b8e2e98a11255a3574d0aff56e77b3f19e668/data/2022.wav
--------------------------------------------------------------------------------
/data/CAC40.txt:
--------------------------------------------------------------------------------
1 | FR0003500008;02/01/17;4845.96;4896.01;4843.93;4882.38;1169888
2 | FR0003500008;03/01/17;4904.77;4929.60;4896.11;4899.33;3005268
3 | FR0003500008;04/01/17;4912.95;4913.94;4879.23;4899.40;2887044
4 | FR0003500008;05/01/17;4881.72;4905.84;4874.79;4900.64;2968784
5 | FR0003500008;06/01/17;4885.19;4911.49;4874.42;4909.84;2651627
6 | FR0003500008;09/01/17;4915.35;4915.60;4867.83;4887.57;2595038
7 | FR0003500008;10/01/17;4894.45;4906.15;4868.50;4888.23;3005772
8 | FR0003500008;11/01/17;4890.04;4916.48;4856.50;4888.71;3115141
9 | FR0003500008;12/01/17;4873.01;4889.21;4857.44;4863.97;3302762
10 | FR0003500008;13/01/17;4889.45;4924.58;4883.06;4922.49;3952794
11 | FR0003500008;16/01/17;4883.43;4911.39;4879.80;4882.18;2876860
12 | FR0003500008;17/01/17;4865.19;4889.16;4841.68;4859.69;2892545
13 | FR0003500008;18/01/17;4874.31;4875.74;4827.11;4853.40;2918464
14 | FR0003500008;19/01/17;4859.76;4867.58;4829.82;4841.14;3563285
15 | FR0003500008;20/01/17;4834.30;4869.38;4818.88;4850.67;4348020
16 | FR0003500008;23/01/17;4816.98;4842.97;4800.39;4821.41;2827245
17 | FR0003500008;24/01/17;4831.95;4840.50;4816.73;4830.03;2894798
18 | FR0003500008;25/01/17;4865.09;4890.16;4854.55;4877.67;3805374
19 | FR0003500008;26/01/17;4891.86;4901.07;4855.76;4867.24;3176092
20 | FR0003500008;27/01/17;4867.31;4867.31;4829.70;4839.98;2811953
21 | FR0003500008;30/01/17;4823.50;4830.69;4771.98;4784.64;2874512
22 | FR0003500008;31/01/17;4790.28;4812.55;4748.90;4748.90;3681335
23 | FR0003500008;01/02/17;4786.85;4823.81;4782.61;4794.58;3276466
24 | FR0003500008;02/02/17;4785.14;4812.31;4774.18;4794.29;2996839
25 | FR0003500008;03/02/17;4808.46;4847.47;4803.91;4825.42;2679247
26 | FR0003500008;06/02/17;4829.68;4841.17;4773.35;4778.08;2643982
27 | FR0003500008;07/02/17;4762.17;4787.94;4750.03;4754.47;2942323
28 | FR0003500008;08/02/17;4768.00;4790.29;4733.82;4766.60;3628763
29 | FR0003500008;09/02/17;4793.01;4831.31;4769.86;4826.24;3464128
30 | FR0003500008;10/02/17;4842.91;4845.45;4815.67;4828.32;3348598
31 | FR0003500008;13/02/17;4844.22;4906.71;4841.60;4888.19;3092800
32 | FR0003500008;14/02/17;4887.23;4897.89;4878.79;4895.82;3080589
33 | FR0003500008;15/02/17;4910.57;4932.35;4902.16;4924.86;3339668
34 | FR0003500008;16/02/17;4925.54;4928.25;4890.48;4899.46;3338979
35 | FR0003500008;17/02/17;4896.97;4903.16;4843.01;4867.58;3844649
36 | FR0003500008;20/02/17;4894.25;4901.41;4856.12;4864.99;2353639
37 | FR0003500008;21/02/17;4865.89;4900.38;4849.91;4888.76;2927122
38 | FR0003500008;22/02/17;4899.65;4922.64;4866.12;4895.88;3576469
39 | FR0003500008;23/02/17;4900.80;4916.44;4880.49;4891.29;3256338
40 | FR0003500008;24/02/17;4886.51;4890.11;4806.49;4845.24;3598111
41 | FR0003500008;27/02/17;4864.13;4869.51;4833.77;4845.18;2746796
42 | FR0003500008;28/02/17;4862.65;4865.95;4836.53;4858.58;3366177
43 | FR0003500008;01/03/17;4897.48;4970.64;4897.48;4960.83;3995369
44 | FR0003500008;02/03/17;4965.27;4972.88;4955.41;4963.80;3240877
45 | FR0003500008;03/03/17;4953.30;5002.32;4948.72;4995.13;3369754
46 | FR0003500008;06/03/17;4983.96;4985.24;4960.26;4972.19;2856388
47 | FR0003500008;07/03/17;4974.79;4974.79;4941.26;4955.00;2718305
48 | FR0003500008;08/03/17;4941.18;4976.04;4933.77;4960.48;2796218
49 | FR0003500008;09/03/17;4950.53;4988.63;4939.87;4981.51;3696748
50 | FR0003500008;10/03/17;4994.00;5022.10;4990.15;4993.32;3498320
51 | FR0003500008;13/03/17;4997.88;5013.08;4986.06;4999.60;2677809
52 | FR0003500008;14/03/17;5006.05;5006.05;4958.88;4974.26;2958728
53 | FR0003500008;15/03/17;4980.05;4989.30;4966.05;4985.48;2841846
54 | FR0003500008;16/03/17;5027.10;5031.57;5004.62;5013.38;3883702
55 | FR0003500008;17/03/17;5006.71;5037.85;5001.39;5029.24;6032885
56 | FR0003500008;20/03/17;5008.08;5030.06;5004.08;5012.16;2372751
57 | FR0003500008;21/03/17;5030.20;5054.91;4990.64;5002.43;3272568
58 | FR0003500008;22/03/17;4969.11;5005.06;4953.57;4994.70;3403519
59 | FR0003500008;23/03/17;4996.62;5032.94;4980.56;5032.76;3085028
60 | FR0003500008;24/03/17;5027.19;5027.19;5003.58;5020.90;2503278
61 | FR0003500008;27/03/17;4975.09;5017.88;4971.07;5017.43;2918167
62 | FR0003500008;28/03/17;5027.13;5048.11;5008.67;5046.20;2839803
63 | FR0003500008;29/03/17;5063.70;5073.23;5044.42;5069.04;2848218
64 | FR0003500008;30/03/17;5075.61;5090.92;5063.07;5089.64;2622424
65 | FR0003500008;31/03/17;5077.30;5122.51;5067.74;5122.51;3792284
66 | FR0003500008;03/04/17;5130.18;5132.93;5083.14;5085.91;2954467
67 | FR0003500008;04/04/17;5087.60;5101.13;5076.35;5101.13;2937851
68 | FR0003500008;05/04/17;5104.71;5123.78;5087.68;5091.85;3070518
69 | FR0003500008;06/04/17;5063.62;5126.74;5051.61;5121.44;3142581
70 | FR0003500008;07/04/17;5104.73;5135.28;5098.05;5135.28;3013546
71 | FR0003500008;10/04/17;5127.36;5127.36;5097.56;5107.45;2546741
72 | FR0003500008;11/04/17;5086.61;5119.18;5068.25;5101.86;3353277
73 | FR0003500008;12/04/17;5114.50;5142.81;5093.98;5101.11;3046401
74 | FR0003500008;13/04/17;5090.48;5090.48;5062.32;5071.10;3514603
75 | FR0003500008;18/04/17;5078.25;5080.03;4990.25;4990.25;4300269
76 | FR0003500008;19/04/17;4987.29;5011.33;4980.41;5003.73;3724508
77 | FR0003500008;20/04/17;4992.47;5093.60;4989.26;5077.91;4697474
78 | FR0003500008;21/04/17;5063.36;5081.61;5029.06;5059.20;6030581
79 | FR0003500008;24/04/17;5267.88;5295.47;5228.54;5268.85;8742612
80 | FR0003500008;25/04/17;5274.36;5293.39;5259.63;5277.88;4402496
81 | FR0003500008;26/04/17;5276.37;5296.52;5270.32;5287.88;4512180
82 | FR0003500008;27/04/17;5276.97;5278.96;5261.73;5271.70;4066303
83 | FR0003500008;28/04/17;5267.66;5287.85;5265.36;5267.33;4497495
84 | FR0003500008;02/05/17;5284.88;5305.95;5274.29;5304.15;3795931
85 | FR0003500008;03/05/17;5299.74;5301.61;5282.45;5301.00;3487361
86 | FR0003500008;04/05/17;5309.39;5372.42;5304.46;5372.42;4932939
87 | FR0003500008;05/05/17;5344.92;5432.40;5343.02;5432.40;5083354
88 | FR0003500008;08/05/17;5442.10;5442.10;5374.20;5382.95;4569368
89 | FR0003500008;09/05/17;5404.14;5413.60;5394.13;5398.01;3713163
90 | FR0003500008;10/05/17;5398.81;5402.34;5377.75;5400.46;3744039
91 | FR0003500008;11/05/17;5409.90;5409.99;5356.41;5383.42;4235406
92 | FR0003500008;12/05/17;5386.79;5405.42;5375.48;5405.42;3949667
93 | FR0003500008;15/05/17;5411.27;5417.40;5384.54;5417.40;3239263
94 | FR0003500008;16/05/17;5398.15;5417.17;5389.87;5406.10;3500206
95 | FR0003500008;17/05/17;5375.84;5394.88;5297.43;5317.89;4089118
96 | FR0003500008;18/05/17;5309.91;5322.70;5238.51;5289.73;5077150
97 | FR0003500008;19/05/17;5299.40;5334.45;5292.12;5324.40;4539294
98 | FR0003500008;22/05/17;5335.12;5339.41;5315.23;5322.88;2950617
99 | FR0003500008;23/05/17;5317.12;5368.88;5314.48;5348.16;3277144
100 | FR0003500008;24/05/17;5336.98;5353.01;5326.59;5341.34;3065204
101 | FR0003500008;25/05/17;5360.97;5366.70;5323.11;5337.16;2617803
102 | FR0003500008;26/05/17;5328.86;5336.76;5282.42;5336.64;3158564
103 | FR0003500008;29/05/17;5327.73;5335.78;5316.69;5332.47;1591040
104 | FR0003500008;30/05/17;5291.08;5309.36;5273.56;5305.94;3198159
105 | FR0003500008;31/05/17;5306.21;5334.57;5283.63;5283.63;5780058
106 | FR0003500008;01/06/17;5290.84;5327.60;5287.99;5318.67;3311646
107 | FR0003500008;02/06/17;5347.86;5372.97;5328.19;5343.41;3737470
108 | FR0003500008;05/06/17;5337.11;5343.79;5299.76;5307.89;1966960
109 | FR0003500008;06/06/17;5280.20;5296.42;5260.95;5269.22;3292389
110 | FR0003500008;07/06/17;5261.42;5320.04;5254.03;5265.53;3734608
111 | FR0003500008;08/06/17;5264.69;5290.50;5250.68;5264.24;3427740
112 | FR0003500008;09/06/17;5275.99;5320.17;5266.83;5299.71;3260989
113 | FR0003500008;12/06/17;5282.58;5286.10;5233.69;5240.59;3530523
114 | FR0003500008;13/06/17;5254.14;5273.87;5248.29;5261.74;3041688
115 | FR0003500008;14/06/17;5283.60;5314.96;5243.29;5243.29;3939780
116 | FR0003500008;15/06/17;5235.36;5235.88;5176.67;5216.88;4690400
117 | FR0003500008;16/06/17;5243.53;5273.68;5236.00;5263.31;7193521
118 | FR0003500008;19/06/17;5305.22;5331.32;5302.05;5310.72;3212035
119 | FR0003500008;20/06/17;5330.58;5339.55;5293.65;5293.65;3288039
120 | FR0003500008;21/06/17;5273.00;5286.06;5224.05;5274.26;3481067
121 | FR0003500008;22/06/17;5259.55;5286.46;5232.82;5281.93;3281935
122 | FR0003500008;23/06/17;5273.24;5283.88;5247.52;5266.12;2689991
123 | FR0003500008;26/06/17;5295.04;5323.73;5289.56;5295.75;2999819
124 | FR0003500008;27/06/17;5282.87;5284.96;5237.67;5258.58;3762537
125 | FR0003500008;28/06/17;5235.83;5273.95;5203.90;5252.90;4037195
126 | FR0003500008;29/06/17;5268.23;5272.94;5143.82;5154.35;4841087
127 | FR0003500008;30/06/17;5157.59;5192.39;5117.23;5120.68;4210650
128 | FR0003500008;03/07/17;5151.19;5200.73;5151.19;5195.72;3112584
129 | FR0003500008;04/07/17;5170.54;5197.81;5165.86;5174.90;2287380
130 | FR0003500008;05/07/17;5174.79;5192.51;5160.86;5180.10;3455235
131 | FR0003500008;06/07/17;5177.21;5177.62;5111.16;5152.40;4060260
132 | FR0003500008;07/07/17;5149.79;5155.42;5125.99;5145.16;3132438
133 | FR0003500008;10/07/17;5160.70;5179.34;5147.67;5165.64;2455372
134 | FR0003500008;11/07/17;5172.03;5186.44;5135.95;5140.60;2649248
135 | FR0003500008;12/07/17;5158.23;5239.02;5157.84;5222.13;3572586
136 | FR0003500008;13/07/17;5228.93;5259.47;5221.58;5235.40;3117659
137 | FR0003500008;14/07/17;5246.20;5246.78;5215.98;5235.31;2554142
138 | FR0003500008;17/07/17;5238.41;5246.23;5214.31;5230.17;2348657
139 | FR0003500008;18/07/17;5219.67;5233.15;5164.63;5173.27;3214759
140 | FR0003500008;19/07/17;5196.13;5218.99;5174.29;5216.07;2884488
141 | FR0003500008;20/07/17;5239.46;5251.25;5177.73;5199.22;3436195
142 | FR0003500008;21/07/17;5188.92;5208.85;5095.12;5117.66;4576450
143 | FR0003500008;24/07/17;5133.68;5143.48;5094.36;5127.70;3026080
144 | FR0003500008;25/07/17;5130.53;5193.19;5130.53;5161.08;3741891
145 | FR0003500008;26/07/17;5162.24;5208.33;5158.79;5190.17;3338945
146 | FR0003500008;27/07/17;5181.15;5218.56;5172.78;5186.95;4227137
147 | FR0003500008;28/07/17;5144.03;5144.03;5105.72;5131.39;4633147
148 | FR0003500008;31/07/17;5127.63;5148.15;5092.14;5093.77;3842621
149 | FR0003500008;01/08/17;5116.90;5148.49;5087.38;5127.03;3342959
150 | FR0003500008;02/08/17;5122.38;5135.14;5094.64;5107.25;3462466
151 | FR0003500008;03/08/17;5097.14;5142.91;5084.20;5130.49;3134223
152 | FR0003500008;04/08/17;5122.40;5216.40;5118.61;5203.44;3258826
153 | FR0003500008;07/08/17;5210.73;5220.59;5195.26;5207.89;2620942
154 | FR0003500008;08/08/17;5200.20;5231.65;5191.38;5218.89;2584169
155 | FR0003500008;09/08/17;5182.05;5183.37;5122.50;5145.70;3457855
156 | FR0003500008;10/08/17;5140.99;5148.47;5096.19;5115.23;2922295
157 | FR0003500008;11/08/17;5081.92;5086.06;5046.75;5060.92;3380605
158 | FR0003500008;14/08/17;5082.87;5136.19;5080.01;5121.67;2368776
159 | FR0003500008;15/08/17;5141.02;5158.50;5123.97;5140.25;1912859
160 | FR0003500008;16/08/17;5159.10;5200.16;5159.10;5176.61;2338531
161 | FR0003500008;17/08/17;5164.54;5180.26;5137.42;5146.85;2710668
162 | FR0003500008;18/08/17;5103.47;5117.04;5074.45;5114.15;3085581
163 | FR0003500008;21/08/17;5091.31;5105.94;5066.19;5087.59;2322370
164 | FR0003500008;22/08/17;5112.13;5137.54;5101.68;5131.86;2383252
165 | FR0003500008;23/08/17;5125.03;5149.08;5105.55;5115.39;2403299
166 | FR0003500008;24/08/17;5127.71;5136.30;5111.86;5113.13;2264367
167 | FR0003500008;25/08/17;5121.48;5141.05;5098.51;5104.33;2120781
168 | FR0003500008;28/08/17;5076.47;5106.25;5066.01;5079.75;1482063
169 | FR0003500008;29/08/17;5035.38;5041.89;4995.07;5031.92;3279681
170 | FR0003500008;30/08/17;5063.24;5069.12;5046.07;5056.34;2366269
171 | FR0003500008;31/08/17;5083.12;5104.78;5068.44;5085.59;4076726
172 | FR0003500008;01/09/17;5117.19;5138.42;5115.95;5123.26;2937298
173 | FR0003500008;04/09/17;5088.28;5114.70;5088.28;5103.97;1742250
174 | FR0003500008;05/09/17;5107.19;5125.80;5081.08;5086.56;2721327
175 | FR0003500008;06/09/17;5054.32;5114.29;5050.09;5101.41;2897711
176 | FR0003500008;07/09/17;5118.84;5148.06;5103.15;5114.62;3392728
177 | FR0003500008;08/09/17;5099.31;5117.89;5086.51;5113.49;2856175
178 | FR0003500008;11/09/17;5145.78;5180.25;5145.78;5176.71;3082919
179 | FR0003500008;12/09/17;5192.75;5219.08;5184.47;5209.01;3148613
180 | FR0003500008;13/09/17;5205.21;5227.00;5200.21;5217.59;3457531
181 | FR0003500008;14/09/17;5205.18;5233.54;5201.65;5225.20;3205057
182 | FR0003500008;15/09/17;5220.89;5237.17;5201.97;5213.91;7804554
183 | FR0003500008;18/09/17;5231.99;5239.88;5221.56;5229.32;2490066
184 | FR0003500008;19/09/17;5223.29;5238.29;5219.71;5237.44;2737864
185 | FR0003500008;20/09/17;5230.51;5248.79;5230.02;5241.66;2701509
186 | FR0003500008;21/09/17;5259.02;5275.42;5257.44;5267.29;3344393
187 | FR0003500008;22/09/17;5277.39;5295.93;5271.88;5281.29;3215680
188 | FR0003500008;25/09/17;5267.99;5286.83;5260.46;5267.13;2659683
189 | FR0003500008;26/09/17;5263.95;5274.58;5255.11;5268.76;3023253
190 | FR0003500008;27/09/17;5281.30;5289.89;5272.32;5281.96;3202223
191 | FR0003500008;28/09/17;5286.05;5295.27;5279.10;5293.77;2925889
192 | FR0003500008;29/09/17;5297.42;5329.81;5284.74;5329.81;3805861
193 | FR0003500008;02/10/17;5332.92;5350.44;5326.66;5350.44;2807906
194 | FR0003500008;03/10/17;5362.75;5370.89;5355.30;5367.41;2333311
195 | FR0003500008;04/10/17;5369.24;5369.45;5345.20;5363.23;3400429
196 | FR0003500008;05/10/17;5355.91;5381.74;5355.91;5379.21;2996260
197 | FR0003500008;06/10/17;5378.07;5378.07;5350.26;5359.90;2933434
198 | FR0003500008;09/10/17;5364.81;5378.51;5351.68;5365.83;2368462
199 | FR0003500008;10/10/17;5364.16;5372.27;5351.79;5363.65;2770042
200 | FR0003500008;11/10/17;5367.38;5367.38;5338.14;5362.41;2898561
201 | FR0003500008;12/10/17;5358.42;5361.92;5342.69;5360.81;2503776
202 | FR0003500008;13/10/17;5362.73;5371.65;5344.96;5351.74;2938198
203 | FR0003500008;16/10/17;5362.53;5371.62;5347.61;5362.88;2592612
204 | FR0003500008;17/10/17;5372.65;5376.69;5347.55;5361.37;2904773
205 | FR0003500008;18/10/17;5368.09;5394.23;5359.68;5383.81;2782169
206 | FR0003500008;19/10/17;5371.00;5377.81;5343.00;5368.29;3701979
207 | FR0003500008;20/10/17;5389.48;5392.09;5368.21;5372.38;4000274
208 | FR0003500008;23/10/17;5377.45;5408.74;5367.65;5386.81;2663475
209 | FR0003500008;24/10/17;5377.86;5413.03;5377.86;5394.80;3457524
210 | FR0003500008;25/10/17;5399.61;5416.54;5364.16;5374.89;3934637
211 | FR0003500008;26/10/17;5383.44;5459.61;5375.26;5455.40;4137178
212 | FR0003500008;27/10/17;5470.34;5513.53;5470.24;5494.13;4475661
213 | FR0003500008;30/10/17;5488.33;5507.56;5487.29;5493.63;2964632
214 | FR0003500008;31/10/17;5492.63;5511.25;5489.41;5503.29;3445721
215 | FR0003500008;01/11/17;5524.38;5536.40;5514.29;5514.29;3436556
216 | FR0003500008;02/11/17;5510.96;5520.81;5486.24;5510.50;3229826
217 | FR0003500008;03/11/17;5513.47;5521.92;5498.29;5517.97;3506091
218 | FR0003500008;06/11/17;5507.07;5513.31;5492.90;5507.25;3161074
219 | FR0003500008;07/11/17;5521.75;5525.55;5475.92;5480.64;3630868
220 | FR0003500008;08/11/17;5487.53;5496.08;5452.20;5471.43;3873880
221 | FR0003500008;09/11/17;5470.18;5479.70;5401.43;5407.75;4456742
222 | FR0003500008;10/11/17;5405.55;5415.88;5375.12;5380.72;3762532
223 | FR0003500008;13/11/17;5382.65;5384.76;5301.02;5341.63;3567115
224 | FR0003500008;14/11/17;5345.30;5365.64;5301.57;5315.58;3643635
225 | FR0003500008;15/11/17;5301.14;5312.39;5267.22;5301.25;4032476
226 | FR0003500008;16/11/17;5325.41;5345.23;5312.87;5336.39;3221764
227 | FR0003500008;17/11/17;5335.85;5350.25;5304.35;5319.17;3645118
228 | FR0003500008;20/11/17;5311.28;5348.15;5302.85;5340.45;2824670
229 | FR0003500008;21/11/17;5335.84;5385.86;5326.86;5366.15;3307269
230 | FR0003500008;22/11/17;5364.61;5391.01;5352.76;5352.76;2965262
231 | FR0003500008;23/11/17;5339.76;5391.89;5330.32;5379.54;2392940
232 | FR0003500008;24/11/17;5374.40;5419.88;5374.40;5390.46;2405456
233 | FR0003500008;27/11/17;5378.96;5408.47;5359.39;5360.09;2806983
234 | FR0003500008;28/11/17;5366.38;5398.19;5357.28;5390.48;3069252
235 | FR0003500008;29/11/17;5416.49;5441.69;5394.89;5398.05;3789567
236 | FR0003500008;30/11/17;5402.66;5429.65;5372.59;5372.79;5477712
237 | FR0003500008;01/12/17;5374.13;5378.32;5299.06;5316.89;4380800
238 | FR0003500008;04/12/17;5363.29;5400.10;5350.59;5389.29;3685240
239 | FR0003500008;05/12/17;5377.80;5379.79;5349.79;5375.53;3339375
240 | FR0003500008;06/12/17;5333.32;5385.53;5316.55;5374.35;3368084
241 | FR0003500008;07/12/17;5374.57;5396.31;5365.75;5383.86;3218870
242 | FR0003500008;08/12/17;5411.91;5425.75;5393.56;5399.09;3765138
243 | FR0003500008;11/12/17;5411.71;5411.71;5382.50;5386.83;2954313
244 | FR0003500008;12/12/17;5394.93;5427.19;5359.76;5427.19;3735894
245 | FR0003500008;13/12/17;5415.32;5429.03;5393.98;5399.45;3877806
246 | FR0003500008;14/12/17;5392.00;5400.28;5357.14;5357.14;3504654
247 | FR0003500008;15/12/17;5340.34;5360.87;5330.10;5349.30;6844616
248 | FR0003500008;18/12/17;5386.40;5427.87;5386.40;5420.58;3749756
249 | FR0003500008;19/12/17;5409.65;5420.64;5380.15;5382.91;2880286
250 | FR0003500008;20/12/17;5377.92;5382.37;5338.03;5352.77;2963902
251 | FR0003500008;21/12/17;5332.39;5389.80;5323.54;5385.97;3037686
252 | FR0003500008;22/12/17;5371.00;5385.96;5355.44;5364.72;2037939
253 | FR0003500008;27/12/17;5359.82;5388.14;5352.53;5368.84;1836894
254 | FR0003500008;28/12/17;5367.70;5370.43;5331.16;5339.42;1896201
255 | FR0003500008;29/12/17;5336.15;5344.05;5312.56;5312.56;2129479
256 |
--------------------------------------------------------------------------------
/data/credit.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/emjako/pythondatascientist/eb5b8e2e98a11255a3574d0aff56e77b3f19e668/data/credit.xlsx
--------------------------------------------------------------------------------
/data/data.json:
--------------------------------------------------------------------------------
1 | {"col0":{"0":-0.2905718848,"1":0.4973062277,"2":-2.5941294177,"3":0.7840420635,"4":-0.0178122428,"5":-1.3128944331,"6":-0.021733297,"7":-1.7167718098,"8":0.7875514635,"9":-0.6258077506,"10":-0.33296778,"11":0.4788483775,"12":1.5988077699,"13":0.5529576336,"14":1.466755657,"15":0.6807188367,"16":0.6501345266,"17":-1.0897113487,"18":-0.2241426577,"19":-0.5594057392,"20":-0.6404241646,"21":-1.6049306225,"22":1.5390051331,"23":2.0625062107,"24":-1.3952299838,"25":-0.1258143513,"26":-1.61538732,"27":-0.6960799282,"28":-0.7229000551,"29":-0.5941265708,"30":-0.5465821764,"31":-1.1192299078,"32":0.6328635406,"33":0.2842269254,"34":0.2399794685,"35":-0.8876983763,"36":-0.1911557945,"37":-0.3036899171,"38":0.9470905075,"39":-3.1511465066,"40":-0.4623927719,"41":0.2254213889,"42":-0.5141759563,"43":0.5869210386,"44":-1.4947460981,"45":0.3509421677,"46":-0.8321387784,"47":0.3563749436,"48":-1.9688133588,"49":0.1922405032,"50":-0.2841630301,"51":-1.0828464174,"52":-1.7678590269,"53":1.0916068456,"54":0.0434829894,"55":0.3846899347,"56":-0.5479256577,"57":-1.6499188146,"58":-1.2834165148,"59":-0.6726834359,"60":0.5468743462,"61":1.6253631645,"62":0.0081350743,"63":-0.7290675192,"64":1.1300052455,"65":-0.9859207265,"66":-0.5972979932,"67":-0.2051806293,"68":-0.3638540318,"69":-0.7059073841,"70":-0.0296718131,"71":1.0927565127,"72":0.5731377461,"73":-1.4237633592,"74":-1.5409694501,"75":0.0370159309,"76":0.8238088252,"77":0.9513289132,"78":-0.9484018617,"79":-1.4187723666,"80":-1.5492957128,"81":-1.5580654662,"82":-0.3744111286,"83":1.6115907484,"84":0.5424591904,"85":-0.168062098,"86":-0.2986593961,"87":-1.097969196,"88":0.2609758171,"89":-1.8477093147,"90":-0.0742007721,"91":-0.3550118195,"92":-0.0957449192,"93":-0.6964842082,"94":0.2252037036,"95":-1.0787078748,"96":0.4220041392,"97":-0.2298038917,"98":-0.7149585453,"99":1.0748665338},"col1":{"0":0.4040127011,"1":1.4325016773,"2":-0.3852300461,"3":-0.0703868511,"4":0.8775697365,"5":0.5064598325,"6":0.587235096,"7":0.4993831372,"8":0.9246017156,"9":0.7265012524,"10":-1.2114219092,"11":-1.2771621196,"12":-0.6234909139,"13":-0.3601732365,"14":1.3405563768,"15":-0.145743979,"16":-0.5562739511,"17":-0.241625892,"18":-0.0627151884,"19":0.9257328231,"20":0.6573571144,"21":-0.6954959122,"22":-0.6200101931,"23":-0.5694480733,"24":-0.7034515154,"25":1.1530986755,"26":1.6186703488,"27":-0.0689155005,"28":0.2314041987,"29":0.6439786983,"30":3.2106049691,"31":0.4452843066,"32":-0.2395085285,"33":-0.462681146,"34":-0.8502295343,"35":0.5887378742,"36":0.389260125,"37":-0.7592974514,"38":-0.7122435382,"39":-0.8020465438,"40":-0.2004508912,"41":0.1226874273,"42":-0.2433207016,"43":0.6367287935,"44":-0.172552396,"45":0.655198427,"46":1.0560362476,"47":-0.7793618387,"48":2.0669761616,"49":-0.9556347905,"50":0.5311309881,"51":-0.5226406559,"52":0.1995672395,"53":-1.1172667456,"54":-0.2248460513,"55":1.2266381138,"56":0.211643471,"57":2.6294497915,"58":-0.8241927666,"59":0.0189997944,"60":0.2086258765,"61":-0.5620188388,"62":2.4121943127,"63":0.8725895238,"64":-0.8717341746,"65":0.0437438782,"66":2.3249049903,"67":1.0989806367,"68":-1.5603650456,"69":0.2922302402,"70":0.8298121718,"71":-0.1692350032,"72":0.0118798614,"73":-0.6460584181,"74":-0.0664676837,"75":-1.2817824295,"76":-0.2724448472,"77":0.0734158083,"78":-0.1232287454,"79":0.021524802,"80":-2.1733382255,"81":0.1773095907,"82":-0.41287386,"83":1.2657625939,"84":-0.7625693199,"85":1.3231317523,"86":0.266224155,"87":-0.9376744201,"88":-0.2210272769,"89":0.0963505498,"90":0.3228975699,"91":-0.6086429935,"92":-0.0899304212,"93":0.4664664815,"94":0.9131475456,"95":0.6611140694,"96":2.0541743276,"97":-0.3325843187,"98":-1.0428213944,"99":0.9591771918},"col2":{"0":-0.9497853186,"1":2.293244809,"2":0.7547582981,"3":-0.9753996568,"4":-0.7042276416,"5":2.3831339515,"6":-1.010257237,"7":0.2810230397,"8":-2.4951166885,"9":0.2796999065,"10":0.5509950867,"11":-0.0423301769,"12":1.4750369534,"13":0.8299083018,"14":1.3386580432,"15":-1.5839046981,"16":-0.7609929414,"17":0.2982369505,"18":-0.5292025309,"19":0.1371207346,"20":-0.3645887865,"21":-0.0576313269,"22":-0.0542455732,"23":1.0544476558,"24":1.2680717276,"25":-1.8641553026,"26":-1.3756778861,"27":-1.5489070423,"28":-0.5806610405,"29":0.9670131491,"30":0.9512568332,"31":-0.0314167283,"32":0.7123357598,"33":1.5351016889,"34":0.1012096249,"35":0.5858057442,"36":0.921704506,"37":-0.9311941123,"38":-1.0255182343,"39":0.3904093581,"40":0.3852848352,"41":-0.7662597738,"42":0.2712221262,"43":1.0787803422,"44":-1.1784389628,"45":1.1615342524,"46":1.2064536987,"47":0.5603414665,"48":0.7769921264,"49":0.8200361256,"50":1.4558527001,"51":-0.5145542939,"52":0.3796168823,"53":-0.4936405125,"54":-1.1784169121,"55":-2.2506437362,"56":0.2519338449,"57":0.2153754141,"58":-0.7440120845,"59":-0.1211537096,"60":-0.3097121724,"61":-0.4726450206,"62":-0.2725242075,"63":-0.1846873904,"64":-1.2782886203,"65":-0.1632778776,"66":1.3381677997,"67":-0.1196576718,"68":-0.6826230397,"69":0.3733111721,"70":-0.1650287584,"71":-1.4243368837,"72":0.6802034801,"73":1.188114985,"74":-0.5527736706,"75":0.5404582932,"76":0.4839203219,"77":1.7563669892,"78":-0.1906351343,"79":-1.3013386985,"80":0.5762138947,"81":-0.0050982298,"82":-0.2137942618,"83":-0.2741832516,"84":-1.3466422457,"85":-1.1659926723,"86":0.7493772609,"87":1.1603819705,"88":1.5288067376,"89":-1.8994512707,"90":-1.3020745295,"91":0.6032569173,"92":-0.1353287824,"93":0.8483330711,"94":0.9986025773,"95":0.414391856,"96":0.9599556627,"97":1.9386145273,"98":-1.2675417237,"99":-0.3149651441},"col3":{"0":0.6360394667,"1":-0.442507071,"2":0.7236772238,"3":0.7149175376,"4":-0.6725713746,"5":-0.6184537739,"6":-0.3262367419,"7":1.2430749615,"8":0.3829544468,"9":0.983646318,"10":-1.1089446216,"11":0.128593338,"12":-1.6862848319,"13":0.3437891856,"14":0.1430768784,"15":-0.2564781632,"16":-0.4124266057,"17":-1.1073194912,"18":0.5543042491,"19":-0.2735707635,"20":1.2030400284,"21":-0.6433895472,"22":-0.7768492173,"23":0.163109,"24":0.1774232942,"25":-0.6573982104,"26":1.1441491983,"27":-0.1380795044,"28":-1.6185243743,"29":0.5421074069,"30":0.9328910131,"31":0.7871459326,"32":-0.0096682761,"33":-1.7579031948,"34":-0.0219019679,"35":-0.6783666205,"36":0.239303708,"37":-1.1822390265,"38":-0.0671806181,"39":-0.0749680565,"40":-0.4890648468,"41":1.3650478689,"42":0.7451015048,"43":-0.0124077034,"44":-0.839659364,"45":1.4888099666,"46":0.8062197273,"47":-0.8903859872,"48":1.0985798541,"49":-1.1065893944,"50":0.6512643257,"51":-0.7199120236,"52":-0.0046705979,"53":-2.1700014041,"54":-0.290954431,"55":-0.4643012026,"56":-0.0532304858,"57":2.19827727,"58":1.860807427,"59":-0.1538852093,"60":-0.7617200964,"61":-0.5810527346,"62":0.092112321,"63":-1.6535769606,"64":-0.5322050256,"65":0.2002764251,"66":0.3942088637,"67":-0.353559471,"68":1.0373899388,"69":3.0757520145,"70":-1.1972305209,"71":-0.6325503866,"72":0.676550653,"73":0.0922209145,"74":1.2844213743,"75":-0.0411243604,"76":-1.8816069145,"77":1.4325236984,"78":-0.2023957837,"79":0.0181885454,"80":-1.4934980113,"81":2.0576465833,"82":-0.8734412639,"83":-0.0533580445,"84":-1.1547576168,"85":-0.0227437257,"86":-0.5430484522,"87":2.0680305943,"88":0.2425810943,"89":-2.2406886045,"90":0.5510438753,"91":-1.0055417625,"92":0.1996065607,"93":0.2660702784,"94":-2.0887758455,"95":-0.6062694884,"96":-0.5687896016,"97":0.7058823879,"98":0.2328137524,"99":0.4611205818},"col4":{"0":-0.8510838872,"1":-0.602753539,"2":-1.4570664372,"3":-0.5752181364,"4":-0.2183809548,"5":0.7228548871,"6":-0.7314395832,"7":1.9380474842,"8":0.5918485372,"9":0.6414287875,"10":0.3892357584,"11":-0.1394254669,"12":-1.0941857104,"13":-1.2198575468,"14":0.5134539382,"15":-1.0062014356,"16":-1.3796781996,"17":0.134236117,"18":-0.0714081969,"19":-2.1223213739,"20":0.6396531212,"21":-0.2178397442,"22":-0.231982026,"23":0.8062040884,"24":0.8406775389,"25":0.0176125597,"26":0.6006537638,"27":0.397069803,"28":-0.3915005326,"29":1.4537390061,"30":-0.1356356609,"31":0.6203420961,"32":-0.6687236324,"33":0.2835309796,"34":-0.4971865355,"35":0.6932713879,"36":-0.034010635,"37":0.8484325911,"38":0.8635753141,"39":0.4671037583,"40":0.5954888979,"41":-0.8836684998,"42":-1.7306360045,"43":-0.3580572982,"44":-0.7870453016,"45":-0.7688031902,"46":0.6090850387,"47":2.2233371563,"48":-0.4248941078,"49":-0.2731172713,"50":1.3893557388,"51":-2.2111571697,"52":-0.7247160093,"53":-0.1828805335,"54":0.4941513247,"55":-0.0195716347,"56":0.8726647816,"57":1.0170117687,"58":-0.8012461575,"59":0.2823917551,"60":-1.216486672,"61":1.2198442693,"62":1.0334731618,"63":0.1888024673,"64":-1.0108166988,"65":0.1187701969,"66":0.266573381,"67":-1.2763571881,"68":1.2156562865,"69":-1.2373864042,"70":-0.4747641462,"71":-0.8855554423,"72":0.9077584107,"73":-0.920372381,"74":1.7186744515,"75":-0.2639578229,"76":0.5642625804,"77":1.612045746,"78":-1.9929682941,"79":1.7084927894,"80":1.2751886028,"81":0.0887399334,"82":0.5608252357,"83":0.3275741456,"84":0.8257371937,"85":-0.0582177108,"86":1.3643583401,"87":-1.4675493925,"88":-0.932536789,"89":0.7044473816,"90":-0.829598414,"91":-0.8199223141,"92":-0.5785572922,"93":0.0478951321,"94":1.4159002387,"95":-1.7685569264,"96":-0.5031463396,"97":-0.8634281917,"98":-1.3307604233,"99":-0.9461947189},"col5":{"0":-0.4186010036,"1":0.9011087428,"2":-0.1555198911,"3":2.3903992515,"4":0.1399114236,"5":0.9286001581,"6":0.3463691727,"7":-0.0538102914,"8":-1.8109949006,"9":-1.3777713099,"10":-0.8257654708,"11":0.7628153397,"12":0.5713336293,"13":-1.6828509866,"14":-0.6452809376,"15":0.4467262197,"16":0.8234936396,"17":-2.6921973986,"18":-1.5480706384,"19":-0.0238983866,"20":0.7275854416,"21":-0.6873730763,"22":1.8698356493,"23":-0.5146515124,"24":-1.3066034874,"25":1.5841628803,"26":1.583006789,"27":-0.2533483369,"28":1.8337329916,"29":1.7057602543,"30":-1.4717522527,"31":-1.3294625891,"32":0.2207323549,"33":0.5925360359,"34":-1.114512562,"35":0.5593718265,"36":-0.1216906317,"37":-1.1787480503,"38":-0.0053514816,"39":0.001972785,"40":-2.5729870207,"41":2.2271395546,"42":-0.1436148793,"43":0.6436354531,"44":0.9421870586,"45":-0.1487705731,"46":-1.739976326,"47":-0.9026119464,"48":-1.3280138814,"49":-2.1011491907,"50":0.8059014994,"51":-1.4851229175,"52":-1.4075962732,"53":-0.6915726212,"54":0.0885511635,"55":1.3407567076,"56":0.2373459018,"57":-0.2497629601,"58":1.6861020352,"59":0.2613631273,"60":0.1014823785,"61":-0.708060021,"62":-0.4778190887,"63":0.7751197752,"64":3.0365975162,"65":-0.4410751619,"66":0.1217338794,"67":-0.5943388477,"68":-0.1218057781,"69":1.6645771499,"70":0.3362003245,"71":0.9576641859,"72":-0.1860458908,"73":-0.71676435,"74":-1.9968082043,"75":-0.0984633502,"76":0.1076979448,"77":0.3591159346,"78":-0.6594365977,"79":0.0165455701,"80":1.1647479287,"81":1.7111060828,"82":0.8428029343,"83":-0.1095846441,"84":-0.0225348138,"85":1.1926226033,"86":-0.6478048611,"87":1.373548656,"88":-0.3293584535,"89":0.2824530857,"90":0.3968792683,"91":1.8887335519,"92":-0.3847585057,"93":1.2996369347,"94":0.7989144022,"95":-0.5383647339,"96":-1.3113820391,"97":0.34256514,"98":0.5103804336,"99":0.5549303069},"col6":{"0":1.2171228091,"1":-0.018705416,"2":-0.0752065684,"3":-1.034421566,"4":0.5933665777,"5":0.5927996083,"6":-1.2365336066,"7":-0.5696418632,"8":-0.1052142359,"9":2.0451401475,"10":0.2658414857,"11":0.508255802,"12":0.8500312342,"13":1.6883964652,"14":0.7328384759,"15":-0.9525850412,"16":-2.885933082,"17":0.5445800456,"18":0.0533286409,"19":0.8147784234,"20":0.0215130881,"21":2.3469968633,"22":1.5379080308,"23":-0.2435862075,"24":-0.4414454149,"25":-0.7578015598,"26":0.6294594914,"27":-0.1054057282,"28":0.1515442483,"29":-0.5989201333,"30":-1.1133825323,"31":0.5213489663,"32":0.1906293733,"33":1.2009405984,"34":-1.4139320958,"35":-1.0969199377,"36":1.3752002577,"37":0.0723690974,"38":0.8600987525,"39":-1.1576724704,"40":-0.9498911386,"41":1.2588109069,"42":1.1529363106,"43":0.5688633877,"44":0.4548609457,"45":-0.0640843441,"46":0.4715144952,"47":-0.9624504473,"48":-0.0387863003,"49":-0.6060876665,"50":-0.9393584501,"51":0.0953284948,"52":1.1104929414,"53":0.1911884326,"54":-2.3202298565,"55":1.6894157883,"56":-0.6274627485,"57":0.7907985932,"58":-0.2279360692,"59":-2.3593319395,"60":0.0820038179,"61":0.6275293877,"62":0.5449948592,"63":-1.3120931549,"64":1.3955581744,"65":0.9079570395,"66":1.8357446417,"67":-0.0294261632,"68":-2.1101021889,"69":2.1097946793,"70":-0.0656261655,"71":-0.6992765319,"72":-0.9679295408,"73":-0.3643233898,"74":-0.0619027709,"75":-0.5092934907,"76":0.6205888981,"77":0.7135955931,"78":-2.2958706539,"79":1.4205427248,"80":-1.3212030874,"81":0.4845102547,"82":-1.4946067277,"83":2.0886622011,"84":-0.1209836439,"85":2.4106732757,"86":-1.9899520338,"87":1.5318869015,"88":-0.4924404823,"89":-1.9000008079,"90":-0.0390718147,"91":2.3376611844,"92":1.1066835903,"93":-0.7539228073,"94":-0.4409361075,"95":-2.4046997172,"96":1.6118800596,"97":-0.2698933594,"98":-1.1778468299,"99":-0.521595454},"col7":{"0":-1.5034931146,"1":1.474112849,"2":0.1335064609,"3":1.2523185245,"4":0.3018647777,"5":-0.7826647191,"6":2.507722432,"7":-0.3527036783,"8":-0.8697166025,"9":-1.3201870657,"10":-1.5386245017,"11":-1.2760001892,"12":-0.810558665,"13":-0.74149185,"14":-0.1587827431,"15":0.134782878,"16":1.1651597938,"17":-0.7187019484,"18":1.806431168,"19":-0.1232553268,"20":1.6621124471,"21":0.4940354037,"22":0.7896203807,"23":-0.5646092154,"24":-1.3045120575,"25":1.0774681291,"26":1.2327148349,"27":-1.0261854074,"28":-0.9506404213,"29":-1.7616880074,"30":1.0960680279,"31":0.5179772831,"32":1.3125954327,"33":-0.48917986,"34":0.5241363614,"35":-0.9485339557,"36":-0.7200050485,"37":-1.3172290168,"38":-0.7126892537,"39":0.9725489522,"40":0.2776360093,"41":0.6792123331,"42":-0.8713128605,"43":0.7213923419,"44":0.5183546031,"45":-0.6426462065,"46":-0.0377009024,"47":0.0260124941,"48":-0.4741389641,"49":0.6766033762,"50":0.5062310599,"51":0.0760779903,"52":1.2583091047,"53":0.4316761304,"54":0.9757840219,"55":-0.0690691693,"56":0.8799408607,"57":0.7957845907,"58":0.5729401352,"59":0.5513228879,"60":1.5329438999,"61":0.2242523728,"62":0.1989981396,"63":-1.5397760018,"64":-0.018205101,"65":-0.7533766113,"66":0.4184341793,"67":0.7530461866,"68":-0.1938799458,"69":-0.4339348493,"70":0.5364608769,"71":-1.0800389634,"72":-2.0938848363,"73":-1.3319735001,"74":0.0771493925,"75":0.5352711737,"76":0.5430633566,"77":1.523077406,"78":-0.2601449592,"79":-2.5370366703,"80":-0.3542513837,"81":0.130567266,"82":-0.2006830491,"83":-0.7113316281,"84":1.1443733527,"85":-1.1347783072,"86":-0.7382919375,"87":-0.1037043895,"88":0.1566289267,"89":0.3061673352,"90":-1.2479446972,"91":1.7674443444,"92":1.2049358093,"93":0.1800923198,"94":-1.9179719803,"95":-0.2656088008,"96":1.6653879164,"97":-0.5478826541,"98":-1.4817784944,"99":0.5399626801},"col8":{"0":-0.1035240536,"1":-0.2129834997,"2":0.1177325567,"3":0.2993774345,"4":0.0104540551,"5":0.7585656722,"6":-1.1751979375,"7":1.6569528232,"8":0.45074408,"9":-0.2573997988,"10":-0.8907925097,"11":1.5986577245,"12":0.0926031712,"13":0.3633896024,"14":-0.6888639031,"15":0.6927793077,"16":-0.493724817,"17":0.6740199156,"18":-0.0573283465,"19":-0.6329143424,"20":0.9858635389,"21":-0.4424373926,"22":0.1931108638,"23":1.1190813391,"24":-1.2550309039,"25":1.1043900078,"26":1.5321790524,"27":0.5722271615,"28":0.1449266939,"29":0.9757511299,"30":2.0480131684,"31":0.0586863036,"32":-0.0113350183,"33":-0.4981508968,"34":-1.4387549302,"35":-1.0436582608,"36":0.2563623263,"37":-0.2897759847,"38":1.7690191512,"39":0.6676199893,"40":-0.7338220361,"41":-0.5305433943,"42":0.6460302514,"43":0.520399272,"44":0.4409372114,"45":-0.4470016216,"46":-0.7603350614,"47":-0.1999107697,"48":0.5097819873,"49":1.338524907,"50":-0.475915144,"51":-0.4788910956,"52":1.0549791639,"53":-1.241531424,"54":0.3487356339,"55":-0.177357751,"56":0.042649115,"57":0.5083698453,"58":0.598430913,"59":3.2831361955,"60":-1.1374189438,"61":0.9731346665,"62":0.713183594,"63":0.4996515274,"64":-0.9962285727,"65":-0.6007545591,"66":0.7417893198,"67":-0.8681613067,"68":1.4814378415,"69":-0.0016850988,"70":0.8911857125,"71":-0.3309882383,"72":1.2729276048,"73":-1.064836068,"74":-0.7252124828,"75":-0.2897331951,"76":-0.9343135343,"77":0.8519451406,"78":-0.5796812026,"79":0.9150298375,"80":-0.9176478235,"81":0.417771646,"82":0.8983451965,"83":-1.3190883982,"84":1.3512295692,"85":-2.4295664812,"86":0.769134155,"87":-0.4466173555,"88":-2.6182010198,"89":0.0718825576,"90":-2.39400182,"91":0.186610881,"92":-0.4091733098,"93":-0.8558359377,"94":-0.8813536371,"95":-1.3116101284,"96":-1.2220880199,"97":1.0881747487,"98":-1.2438424287,"99":0.9727582873},"col9":{"0":0.2770200081,"1":0.0969445496,"2":0.1637000112,"3":-0.0169884966,"4":-0.830656375,"5":-0.4202088343,"6":1.22521081,"7":-1.3991942145,"8":0.3334519664,"9":-0.8152867828,"10":0.6800172434,"11":0.3660530178,"12":-0.1021259191,"13":-0.450625588,"14":2.1420234626,"15":-0.6853016415,"16":2.1384201468,"17":0.5497566746,"18":0.6030348453,"19":-0.244279098,"20":-0.6113676451,"21":-0.1715548174,"22":2.3421767443,"23":0.1799371297,"24":0.4570646723,"25":-0.5233518806,"26":-1.1241522589,"27":0.7570355881,"28":0.432964409,"29":-1.7174573722,"30":0.9448841738,"31":0.7672760804,"32":-0.0988925854,"33":1.1651689972,"34":-0.4199616267,"35":-0.3027444949,"36":-1.0296606331,"37":0.1115423961,"38":-2.3345289384,"39":0.1051880039,"40":-1.069605111,"41":-0.4501060158,"42":-0.4528296647,"43":1.5119872548,"44":0.9242893616,"45":0.5859097087,"46":-1.0129943208,"47":0.1683870559,"48":-0.6679590462,"49":0.6002149558,"50":-0.1968042859,"51":-0.5846631649,"52":-0.9093328241,"53":-0.1346970092,"54":-0.4640146228,"55":-0.7520968813,"56":0.2784536684,"57":-0.7665575485,"58":1.3206182254,"59":-2.1839063591,"60":-0.6729338339,"61":0.3639413878,"62":0.7109463984,"63":-0.1918260148,"64":-0.1766453188,"65":0.561974876,"66":0.3456313749,"67":-0.7508055504,"68":-0.1847036902,"69":0.0620888722,"70":-1.6556948076,"71":-0.0488181194,"72":0.8391931721,"73":0.0419917077,"74":0.5970288057,"75":0.1821435576,"76":-0.0310243786,"77":-0.6263899995,"78":0.2010174441,"79":-0.6352549992,"80":-0.1715156792,"81":0.8870997135,"82":0.2775310688,"83":-1.5224223317,"84":0.0834392403,"85":-1.2452308727,"86":1.7411146815,"87":2.0163284031,"88":-0.1200159357,"89":1.5749513007,"90":0.5635855875,"91":-1.4534036145,"92":-0.3521047703,"93":-0.1470656432,"94":0.1369224338,"95":-0.9196452101,"96":-0.6620923461,"97":0.7772852595,"98":0.6365118618,"99":-0.1714319825}}
--------------------------------------------------------------------------------
/data/data.parquet:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/emjako/pythondatascientist/eb5b8e2e98a11255a3574d0aff56e77b3f19e668/data/data.parquet
--------------------------------------------------------------------------------
/data/data_idf.RData:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/emjako/pythondatascientist/eb5b8e2e98a11255a3574d0aff56e77b3f19e668/data/data_idf.RData
--------------------------------------------------------------------------------
/data/elephant.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/emjako/pythondatascientist/eb5b8e2e98a11255a3574d0aff56e77b3f19e668/data/elephant.png
--------------------------------------------------------------------------------
/data/salaries.sqlite:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/emjako/pythondatascientist/eb5b8e2e98a11255a3574d0aff56e77b3f19e668/data/salaries.sqlite
--------------------------------------------------------------------------------
/data/y_telecom.csv:
--------------------------------------------------------------------------------
1 | ,Churn!
2 | 0,0
3 | 1,0
4 | 2,0
5 | 3,0
6 | 4,0
7 | 5,0
8 | 6,0
9 | 7,0
10 | 8,0
11 | 9,0
12 | 10,1
13 | 11,0
14 | 12,0
15 | 13,0
16 | 14,0
17 | 15,1
18 | 16,0
19 | 17,0
20 | 18,0
21 | 19,0
22 | 20,0
23 | 21,1
24 | 22,0
25 | 23,0
26 | 24,0
27 | 25,0
28 | 26,0
29 | 27,0
30 | 28,0
31 | 29,0
32 | 30,0
33 | 31,0
34 | 32,0
35 | 33,1
36 | 34,0
37 | 35,0
38 | 36,0
39 | 37,0
40 | 38,0
41 | 39,0
42 | 40,0
43 | 41,1
44 | 42,0
45 | 43,0
46 | 44,0
47 | 45,0
48 | 46,0
49 | 47,0
50 | 48,1
51 | 49,0
52 | 50,0
53 | 51,0
54 | 52,0
55 | 53,0
56 | 54,1
57 | 55,0
58 | 56,0
59 | 57,1
60 | 58,0
61 | 59,0
62 | 60,0
63 | 61,0
64 | 62,0
65 | 63,0
66 | 64,0
67 | 65,0
68 | 66,0
69 | 67,0
70 | 68,0
71 | 69,1
72 | 70,0
73 | 71,0
74 | 72,0
75 | 73,0
76 | 74,0
77 | 75,0
78 | 76,1
79 | 77,1
80 | 78,0
81 | 79,0
82 | 80,0
83 | 81,0
84 | 82,0
85 | 83,0
86 | 84,1
87 | 85,0
88 | 86,1
89 | 87,0
90 | 88,0
91 | 89,1
92 | 90,0
93 | 91,1
94 | 92,0
95 | 93,0
96 | 94,0
97 | 95,0
98 | 96,0
99 | 97,0
100 | 98,1
101 | 99,1
102 | 100,0
103 | 101,0
104 | 102,0
105 | 103,0
106 | 104,0
107 | 105,0
108 | 106,0
109 | 107,0
110 | 108,0
111 | 109,0
112 | 110,0
113 | 111,0
114 | 112,0
115 | 113,0
116 | 114,0
117 | 115,1
118 | 116,0
119 | 117,1
120 | 118,0
121 | 119,0
122 | 120,0
123 | 121,0
124 | 122,0
125 | 123,0
126 | 124,0
127 | 125,0
128 | 126,1
129 | 127,1
130 | 128,0
131 | 129,0
132 | 130,0
133 | 131,0
134 | 132,0
135 | 133,0
136 | 134,0
137 | 135,0
138 | 136,0
139 | 137,0
140 | 138,0
141 | 139,0
142 | 140,0
143 | 141,0
144 | 142,0
145 | 143,0
146 | 144,1
147 | 145,0
148 | 146,0
149 | 147,0
150 | 148,0
151 | 149,0
152 | 150,0
153 | 151,0
154 | 152,0
155 | 153,0
156 | 154,0
157 | 155,0
158 | 156,1
159 | 157,0
160 | 158,0
161 | 159,0
162 | 160,0
163 | 161,0
164 | 162,0
165 | 163,0
166 | 164,0
167 | 165,0
168 | 166,0
169 | 167,0
170 | 168,0
171 | 169,0
172 | 170,0
173 | 171,0
174 | 172,0
175 | 173,0
176 | 174,0
177 | 175,0
178 | 176,0
179 | 177,0
180 | 178,0
181 | 179,0
182 | 180,0
183 | 181,1
184 | 182,0
185 | 183,0
186 | 184,0
187 | 185,0
188 | 186,0
189 | 187,0
190 | 188,0
191 | 189,0
192 | 190,0
193 | 191,0
194 | 192,0
195 | 193,0
196 | 194,0
197 | 195,0
198 | 196,0
199 | 197,1
200 | 198,1
201 | 199,0
202 | 200,0
203 | 201,0
204 | 202,0
205 | 203,0
206 | 204,0
207 | 205,0
208 | 206,0
209 | 207,0
210 | 208,0
211 | 209,0
212 | 210,0
213 | 211,0
214 | 212,0
215 | 213,0
216 | 214,1
217 | 215,0
218 | 216,0
219 | 217,0
220 | 218,1
221 | 219,0
222 | 220,0
223 | 221,0
224 | 222,0
225 | 223,0
226 | 224,0
227 | 225,0
228 | 226,0
229 | 227,0
230 | 228,0
231 | 229,0
232 | 230,1
233 | 231,0
234 | 232,0
235 | 233,0
236 | 234,0
237 | 235,1
238 | 236,0
239 | 237,0
240 | 238,0
241 | 239,0
242 | 240,0
243 | 241,1
244 | 242,0
245 | 243,0
246 | 244,1
247 | 245,0
248 | 246,0
249 | 247,0
250 | 248,0
251 | 249,0
252 | 250,1
253 | 251,0
254 | 252,0
255 | 253,0
256 | 254,0
257 | 255,0
258 | 256,0
259 | 257,0
260 | 258,1
261 | 259,0
262 | 260,0
263 | 261,0
264 | 262,0
265 | 263,0
266 | 264,0
267 | 265,0
268 | 266,0
269 | 267,0
270 | 268,0
271 | 269,0
272 | 270,0
273 | 271,0
274 | 272,0
275 | 273,0
276 | 274,0
277 | 275,0
278 | 276,0
279 | 277,1
280 | 278,0
281 | 279,0
282 | 280,0
283 | 281,0
284 | 282,0
285 | 283,0
286 | 284,0
287 | 285,0
288 | 286,0
289 | 287,0
290 | 288,0
291 | 289,1
292 | 290,0
293 | 291,0
294 | 292,0
295 | 293,1
296 | 294,0
297 | 295,0
298 | 296,0
299 | 297,0
300 | 298,0
301 | 299,0
302 | 300,0
303 | 301,1
304 | 302,1
305 | 303,0
306 | 304,0
307 | 305,0
308 | 306,1
309 | 307,1
310 | 308,0
311 | 309,0
312 | 310,1
313 | 311,0
314 | 312,0
315 | 313,0
316 | 314,0
317 | 315,0
318 | 316,0
319 | 317,0
320 | 318,0
321 | 319,1
322 | 320,0
323 | 321,0
324 | 322,0
325 | 323,0
326 | 324,0
327 | 325,0
328 | 326,0
329 | 327,0
330 | 328,0
331 | 329,0
332 | 330,0
333 | 331,1
334 | 332,1
335 | 333,0
336 | 334,0
337 | 335,0
338 | 336,0
339 | 337,0
340 | 338,0
341 | 339,0
342 | 340,1
343 | 341,0
344 | 342,0
345 | 343,0
346 | 344,0
347 | 345,0
348 | 346,0
349 | 347,0
350 | 348,0
351 | 349,1
352 | 350,0
353 | 351,0
354 | 352,0
355 | 353,0
356 | 354,1
357 | 355,0
358 | 356,0
359 | 357,0
360 | 358,0
361 | 359,0
362 | 360,1
363 | 361,0
364 | 362,0
365 | 363,0
366 | 364,0
367 | 365,1
368 | 366,0
369 | 367,0
370 | 368,0
371 | 369,0
372 | 370,0
373 | 371,0
374 | 372,1
375 | 373,0
376 | 374,0
377 | 375,0
378 | 376,0
379 | 377,0
380 | 378,1
381 | 379,0
382 | 380,0
383 | 381,0
384 | 382,0
385 | 383,0
386 | 384,0
387 | 385,0
388 | 386,0
389 | 387,0
390 | 388,0
391 | 389,0
392 | 390,0
393 | 391,0
394 | 392,0
395 | 393,0
396 | 394,1
397 | 395,0
398 | 396,0
399 | 397,1
400 | 398,0
401 | 399,1
402 | 400,0
403 | 401,0
404 | 402,0
405 | 403,0
406 | 404,0
407 | 405,0
408 | 406,0
409 | 407,1
410 | 408,0
411 | 409,0
412 | 410,0
413 | 411,0
414 | 412,0
415 | 413,0
416 | 414,0
417 | 415,1
418 | 416,1
419 | 417,0
420 | 418,0
421 | 419,0
422 | 420,0
423 | 421,0
424 | 422,0
425 | 423,0
426 | 424,0
427 | 425,0
428 | 426,0
429 | 427,0
430 | 428,0
431 | 429,0
432 | 430,1
433 | 431,0
434 | 432,0
435 | 433,0
436 | 434,0
437 | 435,0
438 | 436,0
439 | 437,1
440 | 438,0
441 | 439,0
442 | 440,0
443 | 441,0
444 | 442,0
445 | 443,0
446 | 444,0
447 | 445,0
448 | 446,0
449 | 447,0
450 | 448,0
451 | 449,0
452 | 450,0
453 | 451,0
454 | 452,0
455 | 453,0
456 | 454,1
457 | 455,1
458 | 456,0
459 | 457,0
460 | 458,0
461 | 459,0
462 | 460,0
463 | 461,0
464 | 462,0
465 | 463,0
466 | 464,0
467 | 465,1
468 | 466,1
469 | 467,0
470 | 468,0
471 | 469,0
472 | 470,0
473 | 471,0
474 | 472,0
475 | 473,1
476 | 474,0
477 | 475,0
478 | 476,0
479 | 477,0
480 | 478,0
481 | 479,0
482 | 480,0
483 | 481,0
484 | 482,0
485 | 483,0
486 | 484,0
487 | 485,0
488 | 486,0
489 | 487,0
490 | 488,0
491 | 489,0
492 | 490,0
493 | 491,1
494 | 492,1
495 | 493,0
496 | 494,0
497 | 495,0
498 | 496,0
499 | 497,0
500 | 498,1
501 | 499,0
502 | 500,0
503 | 501,0
504 | 502,1
505 | 503,0
506 | 504,0
507 | 505,0
508 | 506,0
509 | 507,1
510 | 508,0
511 | 509,1
512 | 510,0
513 | 511,0
514 | 512,0
515 | 513,0
516 | 514,1
517 | 515,0
518 | 516,0
519 | 517,0
520 | 518,0
521 | 519,0
522 | 520,0
523 | 521,1
524 | 522,0
525 | 523,0
526 | 524,0
527 | 525,0
528 | 526,0
529 | 527,0
530 | 528,0
531 | 529,0
532 | 530,0
533 | 531,0
534 | 532,0
535 | 533,0
536 | 534,0
537 | 535,0
538 | 536,0
539 | 537,0
540 | 538,0
541 | 539,0
542 | 540,0
543 | 541,0
544 | 542,1
545 | 543,0
546 | 544,0
547 | 545,0
548 | 546,1
549 | 547,1
550 | 548,0
551 | 549,0
552 | 550,1
553 | 551,0
554 | 552,1
555 | 553,0
556 | 554,0
557 | 555,0
558 | 556,0
559 | 557,0
560 | 558,1
561 | 559,0
562 | 560,0
563 | 561,0
564 | 562,0
565 | 563,0
566 | 564,0
567 | 565,0
568 | 566,0
569 | 567,0
570 | 568,0
571 | 569,1
572 | 570,0
573 | 571,0
574 | 572,0
575 | 573,0
576 | 574,1
577 | 575,0
578 | 576,0
579 | 577,0
580 | 578,0
581 | 579,0
582 | 580,1
583 | 581,0
584 | 582,0
585 | 583,0
586 | 584,1
587 | 585,0
588 | 586,0
589 | 587,0
590 | 588,1
591 | 589,0
592 | 590,0
593 | 591,0
594 | 592,0
595 | 593,0
596 | 594,0
597 | 595,0
598 | 596,0
599 | 597,0
600 | 598,0
601 | 599,0
602 | 600,0
603 | 601,1
604 | 602,0
605 | 603,0
606 | 604,0
607 | 605,1
608 | 606,0
609 | 607,0
610 | 608,0
611 | 609,0
612 | 610,0
613 | 611,0
614 | 612,0
615 | 613,1
616 | 614,0
617 | 615,0
618 | 616,0
619 | 617,0
620 | 618,0
621 | 619,1
622 | 620,0
623 | 621,0
624 | 622,0
625 | 623,0
626 | 624,0
627 | 625,0
628 | 626,1
629 | 627,0
630 | 628,0
631 | 629,1
632 | 630,0
633 | 631,0
634 | 632,0
635 | 633,0
636 | 634,0
637 | 635,0
638 | 636,0
639 | 637,0
640 | 638,0
641 | 639,0
642 | 640,0
643 | 641,0
644 | 642,0
645 | 643,0
646 | 644,0
647 | 645,0
648 | 646,0
649 | 647,0
650 | 648,0
651 | 649,1
652 | 650,0
653 | 651,0
654 | 652,0
655 | 653,0
656 | 654,0
657 | 655,1
658 | 656,0
659 | 657,0
660 | 658,0
661 | 659,0
662 | 660,1
663 | 661,0
664 | 662,0
665 | 663,0
666 | 664,0
667 | 665,0
668 | 666,0
669 | 667,0
670 | 668,0
671 | 669,0
672 | 670,0
673 | 671,0
674 | 672,0
675 | 673,0
676 | 674,0
677 | 675,0
678 | 676,0
679 | 677,0
680 | 678,0
681 | 679,1
682 | 680,0
683 | 681,0
684 | 682,0
685 | 683,0
686 | 684,0
687 | 685,0
688 | 686,0
689 | 687,0
690 | 688,0
691 | 689,0
692 | 690,0
693 | 691,0
694 | 692,0
695 | 693,0
696 | 694,0
697 | 695,0
698 | 696,0
699 | 697,0
700 | 698,0
701 | 699,0
702 | 700,0
703 | 701,0
704 | 702,0
705 | 703,0
706 | 704,0
707 | 705,0
708 | 706,0
709 | 707,0
710 | 708,0
711 | 709,0
712 | 710,0
713 | 711,0
714 | 712,0
715 | 713,0
716 | 714,0
717 | 715,1
718 | 716,0
719 | 717,0
720 | 718,0
721 | 719,0
722 | 720,0
723 | 721,1
724 | 722,0
725 | 723,0
726 | 724,0
727 | 725,0
728 | 726,0
729 | 727,0
730 | 728,0
731 | 729,0
732 | 730,1
733 | 731,0
734 | 732,0
735 | 733,0
736 | 734,0
737 | 735,0
738 | 736,1
739 | 737,1
740 | 738,0
741 | 739,0
742 | 740,0
743 | 741,0
744 | 742,0
745 | 743,0
746 | 744,0
747 | 745,0
748 | 746,0
749 | 747,0
750 | 748,0
751 | 749,0
752 | 750,0
753 | 751,0
754 | 752,0
755 | 753,0
756 | 754,0
757 | 755,0
758 | 756,0
759 | 757,0
760 | 758,0
761 | 759,0
762 | 760,0
763 | 761,0
764 | 762,0
765 | 763,0
766 | 764,0
767 | 765,0
768 | 766,1
769 | 767,0
770 | 768,0
771 | 769,0
772 | 770,0
773 | 771,1
774 | 772,0
775 | 773,1
776 | 774,0
777 | 775,0
778 | 776,0
779 | 777,0
780 | 778,0
781 | 779,0
782 | 780,0
783 | 781,0
784 | 782,0
785 | 783,0
786 | 784,0
787 | 785,0
788 | 786,0
789 | 787,1
790 | 788,0
791 | 789,0
792 | 790,0
793 | 791,0
794 | 792,1
795 | 793,0
796 | 794,0
797 | 795,0
798 | 796,0
799 | 797,1
800 | 798,0
801 | 799,0
802 | 800,0
803 | 801,0
804 | 802,0
805 | 803,0
806 | 804,0
807 | 805,0
808 | 806,0
809 | 807,0
810 | 808,0
811 | 809,0
812 | 810,0
813 | 811,0
814 | 812,0
815 | 813,0
816 | 814,0
817 | 815,1
818 | 816,0
819 | 817,0
820 | 818,0
821 | 819,0
822 | 820,0
823 | 821,0
824 | 822,0
825 | 823,0
826 | 824,0
827 | 825,0
828 | 826,0
829 | 827,0
830 | 828,0
831 | 829,0
832 | 830,1
833 | 831,0
834 | 832,1
835 | 833,0
836 | 834,0
837 | 835,0
838 | 836,0
839 | 837,0
840 | 838,0
841 | 839,0
842 | 840,0
843 | 841,0
844 | 842,0
845 | 843,0
846 | 844,0
847 | 845,0
848 | 846,1
849 | 847,0
850 | 848,0
851 | 849,0
852 | 850,0
853 | 851,1
854 | 852,0
855 | 853,0
856 | 854,0
857 | 855,0
858 | 856,0
859 | 857,0
860 | 858,0
861 | 859,1
862 | 860,0
863 | 861,0
864 | 862,0
865 | 863,0
866 | 864,0
867 | 865,0
868 | 866,0
869 | 867,0
870 | 868,0
871 | 869,0
872 | 870,0
873 | 871,1
874 | 872,0
875 | 873,0
876 | 874,0
877 | 875,0
878 | 876,0
879 | 877,0
880 | 878,0
881 | 879,0
882 | 880,0
883 | 881,0
884 | 882,0
885 | 883,0
886 | 884,0
887 | 885,0
888 | 886,0
889 | 887,0
890 | 888,0
891 | 889,0
892 | 890,0
893 | 891,0
894 | 892,1
895 | 893,0
896 | 894,1
897 | 895,0
898 | 896,0
899 | 897,0
900 | 898,0
901 | 899,0
902 | 900,0
903 | 901,1
904 | 902,0
905 | 903,0
906 | 904,1
907 | 905,1
908 | 906,0
909 | 907,0
910 | 908,0
911 | 909,0
912 | 910,0
913 | 911,1
914 | 912,0
915 | 913,0
916 | 914,1
917 | 915,0
918 | 916,0
919 | 917,0
920 | 918,0
921 | 919,0
922 | 920,0
923 | 921,0
924 | 922,0
925 | 923,0
926 | 924,0
927 | 925,0
928 | 926,0
929 | 927,0
930 | 928,0
931 | 929,0
932 | 930,0
933 | 931,0
934 | 932,0
935 | 933,1
936 | 934,0
937 | 935,0
938 | 936,0
939 | 937,0
940 | 938,0
941 | 939,0
942 | 940,0
943 | 941,0
944 | 942,0
945 | 943,0
946 | 944,1
947 | 945,0
948 | 946,1
949 | 947,0
950 | 948,0
951 | 949,0
952 | 950,0
953 | 951,0
954 | 952,0
955 | 953,0
956 | 954,0
957 | 955,0
958 | 956,0
959 | 957,0
960 | 958,0
961 | 959,0
962 | 960,0
963 | 961,0
964 | 962,0
965 | 963,0
966 | 964,0
967 | 965,0
968 | 966,1
969 | 967,0
970 | 968,1
971 | 969,0
972 | 970,0
973 | 971,0
974 | 972,0
975 | 973,0
976 | 974,0
977 | 975,1
978 | 976,0
979 | 977,1
980 | 978,1
981 | 979,0
982 | 980,0
983 | 981,0
984 | 982,0
985 | 983,0
986 | 984,0
987 | 985,1
988 | 986,0
989 | 987,1
990 | 988,0
991 | 989,0
992 | 990,0
993 | 991,0
994 | 992,0
995 | 993,0
996 | 994,0
997 | 995,0
998 | 996,0
999 | 997,0
1000 | 998,0
1001 | 999,0
1002 | 1000,1
1003 | 1001,0
1004 | 1002,0
1005 | 1003,0
1006 | 1004,0
1007 | 1005,0
1008 | 1006,0
1009 | 1007,0
1010 | 1008,0
1011 | 1009,0
1012 | 1010,0
1013 | 1011,0
1014 | 1012,0
1015 | 1013,0
1016 | 1014,0
1017 | 1015,0
1018 | 1016,0
1019 | 1017,0
1020 | 1018,1
1021 | 1019,0
1022 | 1020,0
1023 | 1021,0
1024 | 1022,0
1025 | 1023,0
1026 | 1024,0
1027 | 1025,0
1028 | 1026,0
1029 | 1027,1
1030 | 1028,0
1031 | 1029,0
1032 | 1030,1
1033 | 1031,0
1034 | 1032,0
1035 | 1033,0
1036 | 1034,0
1037 | 1035,0
1038 | 1036,0
1039 | 1037,0
1040 | 1038,1
1041 | 1039,0
1042 | 1040,0
1043 | 1041,0
1044 | 1042,0
1045 | 1043,0
1046 | 1044,0
1047 | 1045,0
1048 | 1046,0
1049 | 1047,0
1050 | 1048,0
1051 | 1049,0
1052 | 1050,0
1053 | 1051,0
1054 | 1052,0
1055 | 1053,0
1056 | 1054,0
1057 | 1055,0
1058 | 1056,0
1059 | 1057,0
1060 | 1058,0
1061 | 1059,0
1062 | 1060,0
1063 | 1061,0
1064 | 1062,0
1065 | 1063,0
1066 | 1064,0
1067 | 1065,0
1068 | 1066,0
1069 | 1067,0
1070 | 1068,0
1071 | 1069,0
1072 | 1070,0
1073 | 1071,0
1074 | 1072,0
1075 | 1073,0
1076 | 1074,0
1077 | 1075,0
1078 | 1076,0
1079 | 1077,1
1080 | 1078,1
1081 | 1079,0
1082 | 1080,0
1083 | 1081,0
1084 | 1082,0
1085 | 1083,0
1086 | 1084,0
1087 | 1085,0
1088 | 1086,0
1089 | 1087,0
1090 | 1088,0
1091 | 1089,0
1092 | 1090,0
1093 | 1091,0
1094 | 1092,0
1095 | 1093,0
1096 | 1094,0
1097 | 1095,0
1098 | 1096,0
1099 | 1097,0
1100 | 1098,0
1101 | 1099,0
1102 | 1100,0
1103 | 1101,0
1104 | 1102,1
1105 | 1103,0
1106 | 1104,0
1107 | 1105,1
1108 | 1106,0
1109 | 1107,0
1110 | 1108,0
1111 | 1109,0
1112 | 1110,0
1113 | 1111,0
1114 | 1112,0
1115 | 1113,0
1116 | 1114,0
1117 | 1115,1
1118 | 1116,0
1119 | 1117,0
1120 | 1118,0
1121 | 1119,0
1122 | 1120,0
1123 | 1121,1
1124 | 1122,1
1125 | 1123,0
1126 | 1124,0
1127 | 1125,0
1128 | 1126,0
1129 | 1127,0
1130 | 1128,0
1131 | 1129,0
1132 | 1130,0
1133 | 1131,0
1134 | 1132,0
1135 | 1133,1
1136 | 1134,0
1137 | 1135,0
1138 | 1136,1
1139 | 1137,0
1140 | 1138,0
1141 | 1139,0
1142 | 1140,0
1143 | 1141,0
1144 | 1142,1
1145 | 1143,0
1146 | 1144,0
1147 | 1145,0
1148 | 1146,0
1149 | 1147,0
1150 | 1148,0
1151 | 1149,0
1152 | 1150,1
1153 | 1151,0
1154 | 1152,0
1155 | 1153,0
1156 | 1154,0
1157 | 1155,1
1158 | 1156,0
1159 | 1157,0
1160 | 1158,0
1161 | 1159,0
1162 | 1160,0
1163 | 1161,0
1164 | 1162,0
1165 | 1163,0
1166 | 1164,0
1167 | 1165,0
1168 | 1166,0
1169 | 1167,0
1170 | 1168,0
1171 | 1169,0
1172 | 1170,0
1173 | 1171,0
1174 | 1172,0
1175 | 1173,0
1176 | 1174,0
1177 | 1175,0
1178 | 1176,0
1179 | 1177,0
1180 | 1178,0
1181 | 1179,0
1182 | 1180,0
1183 | 1181,0
1184 | 1182,1
1185 | 1183,0
1186 | 1184,0
1187 | 1185,0
1188 | 1186,0
1189 | 1187,0
1190 | 1188,0
1191 | 1189,0
1192 | 1190,0
1193 | 1191,0
1194 | 1192,1
1195 | 1193,1
1196 | 1194,0
1197 | 1195,0
1198 | 1196,0
1199 | 1197,0
1200 | 1198,0
1201 | 1199,0
1202 | 1200,0
1203 | 1201,0
1204 | 1202,0
1205 | 1203,0
1206 | 1204,1
1207 | 1205,0
1208 | 1206,0
1209 | 1207,0
1210 | 1208,0
1211 | 1209,0
1212 | 1210,0
1213 | 1211,0
1214 | 1212,0
1215 | 1213,0
1216 | 1214,0
1217 | 1215,0
1218 | 1216,0
1219 | 1217,0
1220 | 1218,0
1221 | 1219,0
1222 | 1220,0
1223 | 1221,0
1224 | 1222,0
1225 | 1223,0
1226 | 1224,0
1227 | 1225,0
1228 | 1226,0
1229 | 1227,0
1230 | 1228,0
1231 | 1229,0
1232 | 1230,0
1233 | 1231,1
1234 | 1232,1
1235 | 1233,0
1236 | 1234,0
1237 | 1235,0
1238 | 1236,0
1239 | 1237,0
1240 | 1238,0
1241 | 1239,0
1242 | 1240,1
1243 | 1241,0
1244 | 1242,0
1245 | 1243,0
1246 | 1244,0
1247 | 1245,0
1248 | 1246,0
1249 | 1247,0
1250 | 1248,0
1251 | 1249,0
1252 | 1250,0
1253 | 1251,0
1254 | 1252,0
1255 | 1253,0
1256 | 1254,1
1257 | 1255,0
1258 | 1256,0
1259 | 1257,0
1260 | 1258,0
1261 | 1259,0
1262 | 1260,0
1263 | 1261,0
1264 | 1262,0
1265 | 1263,1
1266 | 1264,0
1267 | 1265,0
1268 | 1266,0
1269 | 1267,0
1270 | 1268,0
1271 | 1269,1
1272 | 1270,0
1273 | 1271,0
1274 | 1272,0
1275 | 1273,1
1276 | 1274,0
1277 | 1275,0
1278 | 1276,1
1279 | 1277,0
1280 | 1278,1
1281 | 1279,0
1282 | 1280,1
1283 | 1281,0
1284 | 1282,0
1285 | 1283,0
1286 | 1284,1
1287 | 1285,0
1288 | 1286,0
1289 | 1287,0
1290 | 1288,0
1291 | 1289,0
1292 | 1290,0
1293 | 1291,0
1294 | 1292,0
1295 | 1293,0
1296 | 1294,0
1297 | 1295,0
1298 | 1296,0
1299 | 1297,0
1300 | 1298,0
1301 | 1299,1
1302 | 1300,0
1303 | 1301,0
1304 | 1302,1
1305 | 1303,0
1306 | 1304,0
1307 | 1305,0
1308 | 1306,1
1309 | 1307,0
1310 | 1308,0
1311 | 1309,0
1312 | 1310,1
1313 | 1311,0
1314 | 1312,0
1315 | 1313,0
1316 | 1314,0
1317 | 1315,0
1318 | 1316,0
1319 | 1317,0
1320 | 1318,0
1321 | 1319,0
1322 | 1320,0
1323 | 1321,0
1324 | 1322,1
1325 | 1323,0
1326 | 1324,0
1327 | 1325,1
1328 | 1326,0
1329 | 1327,1
1330 | 1328,0
1331 | 1329,0
1332 | 1330,0
1333 | 1331,0
1334 | 1332,0
1335 | 1333,0
1336 | 1334,1
1337 | 1335,0
1338 | 1336,0
1339 | 1337,1
1340 | 1338,0
1341 | 1339,1
1342 | 1340,0
1343 | 1341,0
1344 | 1342,0
1345 | 1343,0
1346 | 1344,1
1347 | 1345,1
1348 | 1346,1
1349 | 1347,0
1350 | 1348,0
1351 | 1349,0
1352 | 1350,1
1353 | 1351,0
1354 | 1352,0
1355 | 1353,0
1356 | 1354,0
1357 | 1355,0
1358 | 1356,0
1359 | 1357,0
1360 | 1358,0
1361 | 1359,1
1362 | 1360,0
1363 | 1361,0
1364 | 1362,0
1365 | 1363,0
1366 | 1364,1
1367 | 1365,0
1368 | 1366,0
1369 | 1367,0
1370 | 1368,0
1371 | 1369,0
1372 | 1370,0
1373 | 1371,0
1374 | 1372,0
1375 | 1373,1
1376 | 1374,0
1377 | 1375,0
1378 | 1376,1
1379 | 1377,0
1380 | 1378,0
1381 | 1379,0
1382 | 1380,0
1383 | 1381,0
1384 | 1382,0
1385 | 1383,0
1386 | 1384,0
1387 | 1385,0
1388 | 1386,0
1389 | 1387,0
1390 | 1388,0
1391 | 1389,0
1392 | 1390,0
1393 | 1391,0
1394 | 1392,1
1395 | 1393,0
1396 | 1394,0
1397 | 1395,0
1398 | 1396,0
1399 | 1397,0
1400 | 1398,0
1401 | 1399,0
1402 | 1400,0
1403 | 1401,0
1404 | 1402,0
1405 | 1403,0
1406 | 1404,0
1407 | 1405,1
1408 | 1406,0
1409 | 1407,1
1410 | 1408,0
1411 | 1409,0
1412 | 1410,0
1413 | 1411,0
1414 | 1412,0
1415 | 1413,0
1416 | 1414,0
1417 | 1415,0
1418 | 1416,0
1419 | 1417,0
1420 | 1418,0
1421 | 1419,0
1422 | 1420,1
1423 | 1421,0
1424 | 1422,0
1425 | 1423,0
1426 | 1424,0
1427 | 1425,0
1428 | 1426,0
1429 | 1427,0
1430 | 1428,0
1431 | 1429,0
1432 | 1430,0
1433 | 1431,0
1434 | 1432,0
1435 | 1433,0
1436 | 1434,0
1437 | 1435,1
1438 | 1436,0
1439 | 1437,0
1440 | 1438,0
1441 | 1439,0
1442 | 1440,0
1443 | 1441,0
1444 | 1442,1
1445 | 1443,0
1446 | 1444,0
1447 | 1445,0
1448 | 1446,0
1449 | 1447,0
1450 | 1448,0
1451 | 1449,0
1452 | 1450,0
1453 | 1451,0
1454 | 1452,0
1455 | 1453,0
1456 | 1454,1
1457 | 1455,0
1458 | 1456,0
1459 | 1457,0
1460 | 1458,0
1461 | 1459,0
1462 | 1460,0
1463 | 1461,0
1464 | 1462,0
1465 | 1463,0
1466 | 1464,0
1467 | 1465,0
1468 | 1466,0
1469 | 1467,1
1470 | 1468,0
1471 | 1469,0
1472 | 1470,0
1473 | 1471,0
1474 | 1472,1
1475 | 1473,0
1476 | 1474,0
1477 | 1475,0
1478 | 1476,0
1479 | 1477,0
1480 | 1478,0
1481 | 1479,0
1482 | 1480,0
1483 | 1481,0
1484 | 1482,0
1485 | 1483,0
1486 | 1484,1
1487 | 1485,0
1488 | 1486,0
1489 | 1487,0
1490 | 1488,0
1491 | 1489,0
1492 | 1490,0
1493 | 1491,0
1494 | 1492,0
1495 | 1493,1
1496 | 1494,0
1497 | 1495,0
1498 | 1496,0
1499 | 1497,0
1500 | 1498,0
1501 | 1499,0
1502 | 1500,0
1503 | 1501,0
1504 | 1502,0
1505 | 1503,0
1506 | 1504,0
1507 | 1505,0
1508 | 1506,0
1509 | 1507,0
1510 | 1508,0
1511 | 1509,0
1512 | 1510,0
1513 | 1511,0
1514 | 1512,0
1515 | 1513,0
1516 | 1514,0
1517 | 1515,0
1518 | 1516,1
1519 | 1517,0
1520 | 1518,0
1521 | 1519,0
1522 | 1520,0
1523 | 1521,0
1524 | 1522,0
1525 | 1523,0
1526 | 1524,0
1527 | 1525,0
1528 | 1526,0
1529 | 1527,0
1530 | 1528,1
1531 | 1529,0
1532 | 1530,1
1533 | 1531,1
1534 | 1532,1
1535 | 1533,1
1536 | 1534,1
1537 | 1535,0
1538 | 1536,0
1539 | 1537,1
1540 | 1538,1
1541 | 1539,0
1542 | 1540,0
1543 | 1541,0
1544 | 1542,0
1545 | 1543,0
1546 | 1544,0
1547 | 1545,0
1548 | 1546,0
1549 | 1547,0
1550 | 1548,0
1551 | 1549,0
1552 | 1550,0
1553 | 1551,1
1554 | 1552,0
1555 | 1553,0
1556 | 1554,0
1557 | 1555,0
1558 | 1556,0
1559 | 1557,0
1560 | 1558,0
1561 | 1559,0
1562 | 1560,0
1563 | 1561,0
1564 | 1562,0
1565 | 1563,0
1566 | 1564,0
1567 | 1565,0
1568 | 1566,0
1569 | 1567,0
1570 | 1568,0
1571 | 1569,0
1572 | 1570,0
1573 | 1571,0
1574 | 1572,0
1575 | 1573,0
1576 | 1574,0
1577 | 1575,0
1578 | 1576,0
1579 | 1577,0
1580 | 1578,0
1581 | 1579,0
1582 | 1580,0
1583 | 1581,0
1584 | 1582,0
1585 | 1583,0
1586 | 1584,0
1587 | 1585,1
1588 | 1586,0
1589 | 1587,0
1590 | 1588,0
1591 | 1589,0
1592 | 1590,0
1593 | 1591,0
1594 | 1592,0
1595 | 1593,1
1596 | 1594,0
1597 | 1595,0
1598 | 1596,0
1599 | 1597,0
1600 | 1598,0
1601 | 1599,0
1602 | 1600,0
1603 | 1601,1
1604 | 1602,0
1605 | 1603,0
1606 | 1604,0
1607 | 1605,0
1608 | 1606,0
1609 | 1607,0
1610 | 1608,0
1611 | 1609,0
1612 | 1610,0
1613 | 1611,0
1614 | 1612,0
1615 | 1613,0
1616 | 1614,1
1617 | 1615,0
1618 | 1616,0
1619 | 1617,0
1620 | 1618,0
1621 | 1619,1
1622 | 1620,0
1623 | 1621,0
1624 | 1622,0
1625 | 1623,0
1626 | 1624,0
1627 | 1625,0
1628 | 1626,0
1629 | 1627,0
1630 | 1628,0
1631 | 1629,0
1632 | 1630,0
1633 | 1631,0
1634 | 1632,0
1635 | 1633,0
1636 | 1634,0
1637 | 1635,1
1638 | 1636,0
1639 | 1637,0
1640 | 1638,1
1641 | 1639,0
1642 | 1640,0
1643 | 1641,0
1644 | 1642,0
1645 | 1643,0
1646 | 1644,0
1647 | 1645,0
1648 | 1646,1
1649 | 1647,0
1650 | 1648,0
1651 | 1649,0
1652 | 1650,0
1653 | 1651,1
1654 | 1652,0
1655 | 1653,1
1656 | 1654,0
1657 | 1655,0
1658 | 1656,0
1659 | 1657,0
1660 | 1658,0
1661 | 1659,0
1662 | 1660,0
1663 | 1661,0
1664 | 1662,1
1665 | 1663,0
1666 | 1664,0
1667 | 1665,0
1668 | 1666,0
1669 | 1667,0
1670 | 1668,0
1671 | 1669,0
1672 | 1670,0
1673 | 1671,0
1674 | 1672,0
1675 | 1673,0
1676 | 1674,1
1677 | 1675,0
1678 | 1676,0
1679 | 1677,0
1680 | 1678,0
1681 | 1679,1
1682 | 1680,0
1683 | 1681,0
1684 | 1682,0
1685 | 1683,0
1686 | 1684,0
1687 | 1685,0
1688 | 1686,0
1689 | 1687,0
1690 | 1688,0
1691 | 1689,0
1692 | 1690,0
1693 | 1691,1
1694 | 1692,1
1695 | 1693,0
1696 | 1694,1
1697 | 1695,0
1698 | 1696,0
1699 | 1697,0
1700 | 1698,0
1701 | 1699,0
1702 | 1700,0
1703 | 1701,1
1704 | 1702,1
1705 | 1703,0
1706 | 1704,1
1707 | 1705,0
1708 | 1706,0
1709 | 1707,1
1710 | 1708,0
1711 | 1709,0
1712 | 1710,0
1713 | 1711,0
1714 | 1712,0
1715 | 1713,1
1716 | 1714,0
1717 | 1715,0
1718 | 1716,0
1719 | 1717,0
1720 | 1718,1
1721 | 1719,0
1722 | 1720,0
1723 | 1721,0
1724 | 1722,0
1725 | 1723,0
1726 | 1724,0
1727 | 1725,0
1728 | 1726,0
1729 | 1727,0
1730 | 1728,0
1731 | 1729,0
1732 | 1730,0
1733 | 1731,1
1734 | 1732,0
1735 | 1733,0
1736 | 1734,0
1737 | 1735,0
1738 | 1736,1
1739 | 1737,0
1740 | 1738,0
1741 | 1739,1
1742 | 1740,0
1743 | 1741,0
1744 | 1742,0
1745 | 1743,0
1746 | 1744,0
1747 | 1745,0
1748 | 1746,1
1749 | 1747,0
1750 | 1748,0
1751 | 1749,0
1752 | 1750,1
1753 | 1751,0
1754 | 1752,1
1755 | 1753,0
1756 | 1754,1
1757 | 1755,0
1758 | 1756,0
1759 | 1757,0
1760 | 1758,0
1761 | 1759,0
1762 | 1760,0
1763 | 1761,0
1764 | 1762,0
1765 | 1763,0
1766 | 1764,1
1767 | 1765,1
1768 | 1766,0
1769 | 1767,0
1770 | 1768,1
1771 | 1769,0
1772 | 1770,0
1773 | 1771,0
1774 | 1772,0
1775 | 1773,0
1776 | 1774,0
1777 | 1775,0
1778 | 1776,0
1779 | 1777,1
1780 | 1778,0
1781 | 1779,0
1782 | 1780,0
1783 | 1781,0
1784 | 1782,0
1785 | 1783,0
1786 | 1784,1
1787 | 1785,0
1788 | 1786,0
1789 | 1787,0
1790 | 1788,0
1791 | 1789,0
1792 | 1790,0
1793 | 1791,0
1794 | 1792,0
1795 | 1793,0
1796 | 1794,1
1797 | 1795,0
1798 | 1796,0
1799 | 1797,0
1800 | 1798,0
1801 | 1799,0
1802 | 1800,0
1803 | 1801,0
1804 | 1802,0
1805 | 1803,0
1806 | 1804,1
1807 | 1805,0
1808 | 1806,0
1809 | 1807,0
1810 | 1808,0
1811 | 1809,0
1812 | 1810,0
1813 | 1811,0
1814 | 1812,0
1815 | 1813,0
1816 | 1814,0
1817 | 1815,0
1818 | 1816,0
1819 | 1817,0
1820 | 1818,0
1821 | 1819,0
1822 | 1820,0
1823 | 1821,0
1824 | 1822,0
1825 | 1823,0
1826 | 1824,0
1827 | 1825,0
1828 | 1826,0
1829 | 1827,0
1830 | 1828,0
1831 | 1829,0
1832 | 1830,0
1833 | 1831,0
1834 | 1832,0
1835 | 1833,0
1836 | 1834,0
1837 | 1835,0
1838 | 1836,0
1839 | 1837,1
1840 | 1838,0
1841 | 1839,0
1842 | 1840,0
1843 | 1841,0
1844 | 1842,1
1845 | 1843,0
1846 | 1844,1
1847 | 1845,1
1848 | 1846,0
1849 | 1847,0
1850 | 1848,0
1851 | 1849,1
1852 | 1850,1
1853 | 1851,1
1854 | 1852,0
1855 | 1853,0
1856 | 1854,0
1857 | 1855,0
1858 | 1856,0
1859 | 1857,1
1860 | 1858,0
1861 | 1859,0
1862 | 1860,0
1863 | 1861,1
1864 | 1862,1
1865 | 1863,0
1866 | 1864,0
1867 | 1865,1
1868 | 1866,1
1869 | 1867,0
1870 | 1868,0
1871 | 1869,1
1872 | 1870,0
1873 | 1871,0
1874 | 1872,0
1875 | 1873,0
1876 | 1874,0
1877 | 1875,0
1878 | 1876,0
1879 | 1877,0
1880 | 1878,1
1881 | 1879,0
1882 | 1880,1
1883 | 1881,1
1884 | 1882,0
1885 | 1883,0
1886 | 1884,0
1887 | 1885,0
1888 | 1886,0
1889 | 1887,1
1890 | 1888,0
1891 | 1889,1
1892 | 1890,0
1893 | 1891,0
1894 | 1892,1
1895 | 1893,1
1896 | 1894,0
1897 | 1895,0
1898 | 1896,0
1899 | 1897,0
1900 | 1898,1
1901 | 1899,0
1902 | 1900,0
1903 | 1901,0
1904 | 1902,0
1905 | 1903,1
1906 | 1904,1
1907 | 1905,0
1908 | 1906,0
1909 | 1907,0
1910 | 1908,0
1911 | 1909,0
1912 | 1910,0
1913 | 1911,0
1914 | 1912,1
1915 | 1913,0
1916 | 1914,0
1917 | 1915,0
1918 | 1916,0
1919 | 1917,0
1920 | 1918,0
1921 | 1919,1
1922 | 1920,0
1923 | 1921,0
1924 | 1922,0
1925 | 1923,0
1926 | 1924,0
1927 | 1925,0
1928 | 1926,0
1929 | 1927,0
1930 | 1928,0
1931 | 1929,0
1932 | 1930,0
1933 | 1931,0
1934 | 1932,0
1935 | 1933,1
1936 | 1934,1
1937 | 1935,1
1938 | 1936,0
1939 | 1937,0
1940 | 1938,0
1941 | 1939,1
1942 | 1940,0
1943 | 1941,0
1944 | 1942,0
1945 | 1943,0
1946 | 1944,0
1947 | 1945,0
1948 | 1946,0
1949 | 1947,0
1950 | 1948,0
1951 | 1949,0
1952 | 1950,1
1953 | 1951,0
1954 | 1952,0
1955 | 1953,0
1956 | 1954,1
1957 | 1955,0
1958 | 1956,0
1959 | 1957,0
1960 | 1958,0
1961 | 1959,0
1962 | 1960,0
1963 | 1961,0
1964 | 1962,0
1965 | 1963,0
1966 | 1964,0
1967 | 1965,1
1968 | 1966,0
1969 | 1967,0
1970 | 1968,0
1971 | 1969,0
1972 | 1970,0
1973 | 1971,0
1974 | 1972,0
1975 | 1973,0
1976 | 1974,1
1977 | 1975,0
1978 | 1976,0
1979 | 1977,1
1980 | 1978,1
1981 | 1979,0
1982 | 1980,0
1983 | 1981,0
1984 | 1982,0
1985 | 1983,0
1986 | 1984,1
1987 | 1985,0
1988 | 1986,0
1989 | 1987,0
1990 | 1988,0
1991 | 1989,0
1992 | 1990,0
1993 | 1991,0
1994 | 1992,0
1995 | 1993,0
1996 | 1994,0
1997 | 1995,0
1998 | 1996,0
1999 | 1997,0
2000 | 1998,0
2001 | 1999,0
2002 | 2000,0
2003 | 2001,1
2004 | 2002,0
2005 | 2003,0
2006 | 2004,0
2007 | 2005,0
2008 | 2006,0
2009 | 2007,0
2010 | 2008,0
2011 | 2009,0
2012 | 2010,0
2013 | 2011,0
2014 | 2012,0
2015 | 2013,0
2016 | 2014,0
2017 | 2015,0
2018 | 2016,0
2019 | 2017,0
2020 | 2018,0
2021 | 2019,0
2022 | 2020,0
2023 | 2021,0
2024 | 2022,0
2025 | 2023,0
2026 | 2024,0
2027 | 2025,0
2028 | 2026,0
2029 | 2027,0
2030 | 2028,1
2031 | 2029,1
2032 | 2030,0
2033 | 2031,0
2034 | 2032,0
2035 | 2033,1
2036 | 2034,0
2037 | 2035,0
2038 | 2036,0
2039 | 2037,0
2040 | 2038,1
2041 | 2039,0
2042 | 2040,0
2043 | 2041,0
2044 | 2042,0
2045 | 2043,0
2046 | 2044,0
2047 | 2045,0
2048 | 2046,0
2049 | 2047,0
2050 | 2048,0
2051 | 2049,0
2052 | 2050,0
2053 | 2051,0
2054 | 2052,0
2055 | 2053,0
2056 | 2054,0
2057 | 2055,0
2058 | 2056,0
2059 | 2057,0
2060 | 2058,0
2061 | 2059,1
2062 | 2060,0
2063 | 2061,0
2064 | 2062,0
2065 | 2063,0
2066 | 2064,0
2067 | 2065,0
2068 | 2066,0
2069 | 2067,0
2070 | 2068,0
2071 | 2069,1
2072 | 2070,0
2073 | 2071,0
2074 | 2072,0
2075 | 2073,0
2076 | 2074,0
2077 | 2075,0
2078 | 2076,1
2079 | 2077,0
2080 | 2078,0
2081 | 2079,0
2082 | 2080,0
2083 | 2081,0
2084 | 2082,0
2085 | 2083,0
2086 | 2084,0
2087 | 2085,0
2088 | 2086,0
2089 | 2087,0
2090 | 2088,0
2091 | 2089,0
2092 | 2090,0
2093 | 2091,0
2094 | 2092,0
2095 | 2093,0
2096 | 2094,0
2097 | 2095,0
2098 | 2096,0
2099 | 2097,0
2100 | 2098,0
2101 | 2099,1
2102 | 2100,0
2103 | 2101,0
2104 | 2102,0
2105 | 2103,1
2106 | 2104,0
2107 | 2105,0
2108 | 2106,1
2109 | 2107,1
2110 | 2108,0
2111 | 2109,0
2112 | 2110,0
2113 | 2111,0
2114 | 2112,1
2115 | 2113,1
2116 | 2114,0
2117 | 2115,1
2118 | 2116,0
2119 | 2117,0
2120 | 2118,1
2121 | 2119,1
2122 | 2120,0
2123 | 2121,0
2124 | 2122,0
2125 | 2123,0
2126 | 2124,0
2127 | 2125,0
2128 | 2126,0
2129 | 2127,0
2130 | 2128,0
2131 | 2129,0
2132 | 2130,0
2133 | 2131,0
2134 | 2132,0
2135 | 2133,0
2136 | 2134,0
2137 | 2135,0
2138 | 2136,0
2139 | 2137,0
2140 | 2138,0
2141 | 2139,1
2142 | 2140,0
2143 | 2141,0
2144 | 2142,1
2145 | 2143,0
2146 | 2144,0
2147 | 2145,0
2148 | 2146,0
2149 | 2147,1
2150 | 2148,0
2151 | 2149,0
2152 | 2150,1
2153 | 2151,0
2154 | 2152,0
2155 | 2153,0
2156 | 2154,0
2157 | 2155,1
2158 | 2156,0
2159 | 2157,0
2160 | 2158,1
2161 | 2159,0
2162 | 2160,1
2163 | 2161,0
2164 | 2162,0
2165 | 2163,0
2166 | 2164,1
2167 | 2165,0
2168 | 2166,0
2169 | 2167,0
2170 | 2168,0
2171 | 2169,0
2172 | 2170,0
2173 | 2171,0
2174 | 2172,0
2175 | 2173,1
2176 | 2174,0
2177 | 2175,0
2178 | 2176,0
2179 | 2177,0
2180 | 2178,0
2181 | 2179,0
2182 | 2180,0
2183 | 2181,0
2184 | 2182,0
2185 | 2183,0
2186 | 2184,0
2187 | 2185,0
2188 | 2186,1
2189 | 2187,1
2190 | 2188,0
2191 | 2189,0
2192 | 2190,0
2193 | 2191,0
2194 | 2192,0
2195 | 2193,0
2196 | 2194,0
2197 | 2195,0
2198 | 2196,0
2199 | 2197,0
2200 | 2198,0
2201 | 2199,0
2202 | 2200,0
2203 | 2201,0
2204 | 2202,0
2205 | 2203,1
2206 | 2204,0
2207 | 2205,0
2208 | 2206,0
2209 | 2207,0
2210 | 2208,0
2211 | 2209,0
2212 | 2210,1
2213 | 2211,0
2214 | 2212,0
2215 | 2213,1
2216 | 2214,0
2217 | 2215,1
2218 | 2216,0
2219 | 2217,0
2220 | 2218,1
2221 | 2219,0
2222 | 2220,0
2223 | 2221,0
2224 | 2222,0
2225 | 2223,0
2226 | 2224,0
2227 | 2225,0
2228 | 2226,0
2229 | 2227,0
2230 | 2228,0
2231 | 2229,0
2232 | 2230,0
2233 | 2231,0
2234 | 2232,0
2235 | 2233,0
2236 | 2234,0
2237 | 2235,0
2238 | 2236,0
2239 | 2237,1
2240 | 2238,1
2241 | 2239,0
2242 | 2240,0
2243 | 2241,0
2244 | 2242,0
2245 | 2243,0
2246 | 2244,0
2247 | 2245,0
2248 | 2246,0
2249 | 2247,0
2250 | 2248,0
2251 | 2249,0
2252 | 2250,0
2253 | 2251,0
2254 | 2252,0
2255 | 2253,0
2256 | 2254,0
2257 | 2255,0
2258 | 2256,0
2259 | 2257,0
2260 | 2258,1
2261 | 2259,0
2262 | 2260,0
2263 | 2261,0
2264 | 2262,0
2265 | 2263,0
2266 | 2264,0
2267 | 2265,0
2268 | 2266,0
2269 | 2267,1
2270 | 2268,0
2271 | 2269,0
2272 | 2270,0
2273 | 2271,0
2274 | 2272,0
2275 | 2273,0
2276 | 2274,0
2277 | 2275,0
2278 | 2276,0
2279 | 2277,0
2280 | 2278,0
2281 | 2279,0
2282 | 2280,0
2283 | 2281,0
2284 | 2282,0
2285 | 2283,1
2286 | 2284,0
2287 | 2285,0
2288 | 2286,0
2289 | 2287,0
2290 | 2288,0
2291 | 2289,0
2292 | 2290,1
2293 | 2291,0
2294 | 2292,0
2295 | 2293,0
2296 | 2294,0
2297 | 2295,0
2298 | 2296,0
2299 | 2297,0
2300 | 2298,0
2301 | 2299,0
2302 | 2300,0
2303 | 2301,0
2304 | 2302,0
2305 | 2303,0
2306 | 2304,0
2307 | 2305,0
2308 | 2306,0
2309 | 2307,0
2310 | 2308,0
2311 | 2309,0
2312 | 2310,0
2313 | 2311,0
2314 | 2312,0
2315 | 2313,0
2316 | 2314,0
2317 | 2315,0
2318 | 2316,0
2319 | 2317,0
2320 | 2318,0
2321 | 2319,0
2322 | 2320,0
2323 | 2321,0
2324 | 2322,0
2325 | 2323,0
2326 | 2324,1
2327 | 2325,1
2328 | 2326,0
2329 | 2327,1
2330 | 2328,0
2331 | 2329,0
2332 | 2330,0
2333 | 2331,0
2334 | 2332,0
2335 | 2333,0
2336 | 2334,0
2337 | 2335,1
2338 | 2336,0
2339 | 2337,0
2340 | 2338,0
2341 | 2339,0
2342 | 2340,0
2343 | 2341,0
2344 | 2342,0
2345 | 2343,1
2346 | 2344,0
2347 | 2345,0
2348 | 2346,0
2349 | 2347,1
2350 | 2348,0
2351 | 2349,0
2352 | 2350,0
2353 | 2351,0
2354 | 2352,0
2355 | 2353,0
2356 | 2354,1
2357 | 2355,0
2358 | 2356,1
2359 | 2357,1
2360 | 2358,0
2361 | 2359,0
2362 | 2360,0
2363 | 2361,0
2364 | 2362,0
2365 | 2363,0
2366 | 2364,0
2367 | 2365,0
2368 | 2366,0
2369 | 2367,0
2370 | 2368,0
2371 | 2369,1
2372 | 2370,0
2373 | 2371,0
2374 | 2372,0
2375 | 2373,0
2376 | 2374,0
2377 | 2375,0
2378 | 2376,1
2379 | 2377,1
2380 | 2378,0
2381 | 2379,0
2382 | 2380,1
2383 | 2381,0
2384 | 2382,0
2385 | 2383,0
2386 | 2384,0
2387 | 2385,0
2388 | 2386,1
2389 | 2387,1
2390 | 2388,1
2391 | 2389,1
2392 | 2390,0
2393 | 2391,0
2394 | 2392,0
2395 | 2393,0
2396 | 2394,0
2397 | 2395,0
2398 | 2396,0
2399 | 2397,1
2400 | 2398,0
2401 | 2399,0
2402 | 2400,0
2403 | 2401,1
2404 | 2402,1
2405 | 2403,0
2406 | 2404,0
2407 | 2405,1
2408 | 2406,0
2409 | 2407,1
2410 | 2408,0
2411 | 2409,0
2412 | 2410,0
2413 | 2411,0
2414 | 2412,1
2415 | 2413,0
2416 | 2414,0
2417 | 2415,1
2418 | 2416,0
2419 | 2417,0
2420 | 2418,0
2421 | 2419,1
2422 | 2420,1
2423 | 2421,1
2424 | 2422,0
2425 | 2423,0
2426 | 2424,0
2427 | 2425,0
2428 | 2426,0
2429 | 2427,0
2430 | 2428,1
2431 | 2429,0
2432 | 2430,0
2433 | 2431,0
2434 | 2432,1
2435 | 2433,0
2436 | 2434,0
2437 | 2435,0
2438 | 2436,0
2439 | 2437,1
2440 | 2438,0
2441 | 2439,0
2442 | 2440,0
2443 | 2441,0
2444 | 2442,0
2445 | 2443,0
2446 | 2444,0
2447 | 2445,0
2448 | 2446,0
2449 | 2447,0
2450 | 2448,0
2451 | 2449,0
2452 | 2450,0
2453 | 2451,1
2454 | 2452,0
2455 | 2453,0
2456 | 2454,0
2457 | 2455,0
2458 | 2456,0
2459 | 2457,0
2460 | 2458,0
2461 | 2459,0
2462 | 2460,0
2463 | 2461,0
2464 | 2462,0
2465 | 2463,0
2466 | 2464,0
2467 | 2465,0
2468 | 2466,0
2469 | 2467,0
2470 | 2468,1
2471 | 2469,0
2472 | 2470,0
2473 | 2471,0
2474 | 2472,1
2475 | 2473,0
2476 | 2474,0
2477 | 2475,0
2478 | 2476,0
2479 | 2477,0
2480 | 2478,0
2481 | 2479,1
2482 | 2480,0
2483 | 2481,0
2484 | 2482,0
2485 | 2483,0
2486 | 2484,0
2487 | 2485,0
2488 | 2486,0
2489 | 2487,0
2490 | 2488,0
2491 | 2489,1
2492 | 2490,0
2493 | 2491,0
2494 | 2492,0
2495 | 2493,1
2496 | 2494,0
2497 | 2495,0
2498 | 2496,0
2499 | 2497,0
2500 | 2498,0
2501 | 2499,0
2502 | 2500,0
2503 | 2501,0
2504 | 2502,0
2505 | 2503,0
2506 | 2504,0
2507 | 2505,0
2508 | 2506,0
2509 | 2507,0
2510 | 2508,0
2511 | 2509,0
2512 | 2510,0
2513 | 2511,0
2514 | 2512,0
2515 | 2513,0
2516 | 2514,0
2517 | 2515,1
2518 | 2516,0
2519 | 2517,0
2520 | 2518,0
2521 | 2519,0
2522 | 2520,0
2523 | 2521,0
2524 | 2522,0
2525 | 2523,0
2526 | 2524,0
2527 | 2525,0
2528 | 2526,1
2529 | 2527,0
2530 | 2528,0
2531 | 2529,0
2532 | 2530,0
2533 | 2531,0
2534 | 2532,0
2535 | 2533,1
2536 | 2534,0
2537 | 2535,1
2538 | 2536,1
2539 | 2537,0
2540 | 2538,0
2541 | 2539,1
2542 | 2540,0
2543 | 2541,0
2544 | 2542,1
2545 | 2543,0
2546 | 2544,0
2547 | 2545,0
2548 | 2546,0
2549 | 2547,0
2550 | 2548,0
2551 | 2549,0
2552 | 2550,0
2553 | 2551,0
2554 | 2552,0
2555 | 2553,0
2556 | 2554,0
2557 | 2555,0
2558 | 2556,0
2559 | 2557,0
2560 | 2558,0
2561 | 2559,0
2562 | 2560,0
2563 | 2561,0
2564 | 2562,0
2565 | 2563,0
2566 | 2564,0
2567 | 2565,0
2568 | 2566,0
2569 | 2567,1
2570 | 2568,0
2571 | 2569,0
2572 | 2570,0
2573 | 2571,0
2574 | 2572,1
2575 | 2573,1
2576 | 2574,0
2577 | 2575,1
2578 | 2576,0
2579 | 2577,0
2580 | 2578,0
2581 | 2579,0
2582 | 2580,0
2583 | 2581,1
2584 | 2582,0
2585 | 2583,0
2586 | 2584,0
2587 | 2585,0
2588 | 2586,0
2589 | 2587,0
2590 | 2588,0
2591 | 2589,0
2592 | 2590,0
2593 | 2591,1
2594 | 2592,0
2595 | 2593,0
2596 | 2594,1
2597 | 2595,1
2598 | 2596,0
2599 | 2597,0
2600 | 2598,0
2601 | 2599,1
2602 | 2600,0
2603 | 2601,0
2604 | 2602,1
2605 | 2603,0
2606 | 2604,0
2607 | 2605,0
2608 | 2606,1
2609 | 2607,0
2610 | 2608,0
2611 | 2609,0
2612 | 2610,0
2613 | 2611,0
2614 | 2612,0
2615 | 2613,0
2616 | 2614,1
2617 | 2615,0
2618 | 2616,0
2619 | 2617,0
2620 | 2618,0
2621 | 2619,1
2622 | 2620,0
2623 | 2621,0
2624 | 2622,0
2625 | 2623,0
2626 | 2624,1
2627 | 2625,0
2628 | 2626,0
2629 | 2627,0
2630 | 2628,0
2631 | 2629,1
2632 | 2630,0
2633 | 2631,0
2634 | 2632,0
2635 | 2633,0
2636 | 2634,0
2637 | 2635,0
2638 | 2636,0
2639 | 2637,0
2640 | 2638,0
2641 | 2639,0
2642 | 2640,0
2643 | 2641,0
2644 | 2642,0
2645 | 2643,0
2646 | 2644,0
2647 | 2645,1
2648 | 2646,0
2649 | 2647,1
2650 | 2648,0
2651 | 2649,0
2652 | 2650,0
2653 | 2651,0
2654 | 2652,0
2655 | 2653,0
2656 | 2654,0
2657 | 2655,0
2658 | 2656,0
2659 | 2657,0
2660 | 2658,0
2661 | 2659,0
2662 | 2660,1
2663 | 2661,0
2664 | 2662,1
2665 | 2663,0
2666 | 2664,1
2667 | 2665,0
2668 | 2666,1
2669 | 2667,0
2670 | 2668,0
2671 | 2669,0
2672 | 2670,0
2673 | 2671,0
2674 | 2672,1
2675 | 2673,1
2676 | 2674,0
2677 | 2675,0
2678 | 2676,0
2679 | 2677,1
2680 | 2678,0
2681 | 2679,0
2682 | 2680,0
2683 | 2681,1
2684 | 2682,0
2685 | 2683,0
2686 | 2684,0
2687 | 2685,0
2688 | 2686,0
2689 | 2687,1
2690 | 2688,0
2691 | 2689,0
2692 | 2690,0
2693 | 2691,0
2694 | 2692,0
2695 | 2693,0
2696 | 2694,1
2697 | 2695,0
2698 | 2696,1
2699 | 2697,0
2700 | 2698,0
2701 | 2699,0
2702 | 2700,1
2703 | 2701,0
2704 | 2702,0
2705 | 2703,0
2706 | 2704,0
2707 | 2705,0
2708 | 2706,0
2709 | 2707,0
2710 | 2708,1
2711 | 2709,0
2712 | 2710,1
2713 | 2711,0
2714 | 2712,0
2715 | 2713,0
2716 | 2714,0
2717 | 2715,0
2718 | 2716,0
2719 | 2717,0
2720 | 2718,0
2721 | 2719,0
2722 | 2720,0
2723 | 2721,0
2724 | 2722,0
2725 | 2723,0
2726 | 2724,1
2727 | 2725,0
2728 | 2726,0
2729 | 2727,0
2730 | 2728,0
2731 | 2729,0
2732 | 2730,0
2733 | 2731,1
2734 | 2732,1
2735 | 2733,0
2736 | 2734,0
2737 | 2735,1
2738 | 2736,0
2739 | 2737,0
2740 | 2738,0
2741 | 2739,0
2742 | 2740,0
2743 | 2741,0
2744 | 2742,0
2745 | 2743,0
2746 | 2744,0
2747 | 2745,1
2748 | 2746,0
2749 | 2747,1
2750 | 2748,0
2751 | 2749,0
2752 | 2750,0
2753 | 2751,0
2754 | 2752,0
2755 | 2753,0
2756 | 2754,0
2757 | 2755,0
2758 | 2756,0
2759 | 2757,0
2760 | 2758,0
2761 | 2759,0
2762 | 2760,1
2763 | 2761,0
2764 | 2762,0
2765 | 2763,0
2766 | 2764,0
2767 | 2765,0
2768 | 2766,0
2769 | 2767,0
2770 | 2768,0
2771 | 2769,0
2772 | 2770,0
2773 | 2771,0
2774 | 2772,1
2775 | 2773,1
2776 | 2774,1
2777 | 2775,0
2778 | 2776,0
2779 | 2777,0
2780 | 2778,0
2781 | 2779,0
2782 | 2780,0
2783 | 2781,0
2784 | 2782,0
2785 | 2783,0
2786 | 2784,1
2787 | 2785,1
2788 | 2786,1
2789 | 2787,0
2790 | 2788,0
2791 | 2789,0
2792 | 2790,0
2793 | 2791,0
2794 | 2792,0
2795 | 2793,0
2796 | 2794,1
2797 | 2795,0
2798 | 2796,0
2799 | 2797,0
2800 | 2798,0
2801 | 2799,0
2802 | 2800,1
2803 | 2801,0
2804 | 2802,0
2805 | 2803,0
2806 | 2804,0
2807 | 2805,0
2808 | 2806,0
2809 | 2807,0
2810 | 2808,0
2811 | 2809,0
2812 | 2810,0
2813 | 2811,0
2814 | 2812,0
2815 | 2813,0
2816 | 2814,0
2817 | 2815,0
2818 | 2816,1
2819 | 2817,0
2820 | 2818,0
2821 | 2819,1
2822 | 2820,0
2823 | 2821,0
2824 | 2822,0
2825 | 2823,0
2826 | 2824,1
2827 | 2825,0
2828 | 2826,0
2829 | 2827,1
2830 | 2828,1
2831 | 2829,0
2832 | 2830,0
2833 | 2831,0
2834 | 2832,0
2835 | 2833,0
2836 | 2834,0
2837 | 2835,0
2838 | 2836,0
2839 | 2837,0
2840 | 2838,0
2841 | 2839,1
2842 | 2840,0
2843 | 2841,0
2844 | 2842,0
2845 | 2843,0
2846 | 2844,0
2847 | 2845,0
2848 | 2846,0
2849 | 2847,0
2850 | 2848,0
2851 | 2849,0
2852 | 2850,0
2853 | 2851,0
2854 | 2852,0
2855 | 2853,0
2856 | 2854,0
2857 | 2855,0
2858 | 2856,0
2859 | 2857,0
2860 | 2858,0
2861 | 2859,0
2862 | 2860,0
2863 | 2861,0
2864 | 2862,0
2865 | 2863,0
2866 | 2864,0
2867 | 2865,1
2868 | 2866,0
2869 | 2867,0
2870 | 2868,1
2871 | 2869,0
2872 | 2870,0
2873 | 2871,0
2874 | 2872,0
2875 | 2873,0
2876 | 2874,1
2877 | 2875,0
2878 | 2876,0
2879 | 2877,0
2880 | 2878,0
2881 | 2879,0
2882 | 2880,0
2883 | 2881,0
2884 | 2882,1
2885 | 2883,0
2886 | 2884,1
2887 | 2885,0
2888 | 2886,0
2889 | 2887,0
2890 | 2888,0
2891 | 2889,1
2892 | 2890,0
2893 | 2891,0
2894 | 2892,0
2895 | 2893,0
2896 | 2894,0
2897 | 2895,0
2898 | 2896,0
2899 | 2897,0
2900 | 2898,0
2901 | 2899,0
2902 | 2900,1
2903 | 2901,1
2904 | 2902,0
2905 | 2903,0
2906 | 2904,0
2907 | 2905,0
2908 | 2906,0
2909 | 2907,0
2910 | 2908,1
2911 | 2909,0
2912 | 2910,0
2913 | 2911,0
2914 | 2912,0
2915 | 2913,0
2916 | 2914,0
2917 | 2915,0
2918 | 2916,0
2919 | 2917,0
2920 | 2918,0
2921 | 2919,0
2922 | 2920,0
2923 | 2921,0
2924 | 2922,0
2925 | 2923,0
2926 | 2924,1
2927 | 2925,1
2928 | 2926,1
2929 | 2927,0
2930 | 2928,0
2931 | 2929,0
2932 | 2930,0
2933 | 2931,0
2934 | 2932,0
2935 | 2933,0
2936 | 2934,1
2937 | 2935,0
2938 | 2936,1
2939 | 2937,0
2940 | 2938,0
2941 | 2939,0
2942 | 2940,0
2943 | 2941,0
2944 | 2942,1
2945 | 2943,0
2946 | 2944,0
2947 | 2945,0
2948 | 2946,0
2949 | 2947,1
2950 | 2948,0
2951 | 2949,0
2952 | 2950,1
2953 | 2951,0
2954 | 2952,1
2955 | 2953,0
2956 | 2954,0
2957 | 2955,0
2958 | 2956,0
2959 | 2957,0
2960 | 2958,1
2961 | 2959,0
2962 | 2960,1
2963 | 2961,1
2964 | 2962,0
2965 | 2963,0
2966 | 2964,1
2967 | 2965,0
2968 | 2966,0
2969 | 2967,0
2970 | 2968,1
2971 | 2969,0
2972 | 2970,0
2973 | 2971,1
2974 | 2972,1
2975 | 2973,0
2976 | 2974,0
2977 | 2975,0
2978 | 2976,0
2979 | 2977,0
2980 | 2978,0
2981 | 2979,1
2982 | 2980,1
2983 | 2981,0
2984 | 2982,0
2985 | 2983,0
2986 | 2984,0
2987 | 2985,0
2988 | 2986,0
2989 | 2987,1
2990 | 2988,0
2991 | 2989,1
2992 | 2990,0
2993 | 2991,0
2994 | 2992,0
2995 | 2993,0
2996 | 2994,1
2997 | 2995,0
2998 | 2996,0
2999 | 2997,0
3000 | 2998,0
3001 | 2999,0
3002 | 3000,0
3003 | 3001,0
3004 | 3002,1
3005 | 3003,0
3006 | 3004,0
3007 | 3005,0
3008 | 3006,0
3009 | 3007,0
3010 | 3008,0
3011 | 3009,0
3012 | 3010,0
3013 | 3011,0
3014 | 3012,0
3015 | 3013,0
3016 | 3014,0
3017 | 3015,0
3018 | 3016,0
3019 | 3017,0
3020 | 3018,0
3021 | 3019,1
3022 | 3020,0
3023 | 3021,0
3024 | 3022,0
3025 | 3023,1
3026 | 3024,0
3027 | 3025,0
3028 | 3026,0
3029 | 3027,0
3030 | 3028,0
3031 | 3029,0
3032 | 3030,0
3033 | 3031,0
3034 | 3032,0
3035 | 3033,0
3036 | 3034,0
3037 | 3035,1
3038 | 3036,0
3039 | 3037,0
3040 | 3038,0
3041 | 3039,0
3042 | 3040,0
3043 | 3041,0
3044 | 3042,0
3045 | 3043,0
3046 | 3044,0
3047 | 3045,1
3048 | 3046,0
3049 | 3047,0
3050 | 3048,0
3051 | 3049,0
3052 | 3050,1
3053 | 3051,0
3054 | 3052,0
3055 | 3053,0
3056 | 3054,0
3057 | 3055,0
3058 | 3056,0
3059 | 3057,0
3060 | 3058,0
3061 | 3059,0
3062 | 3060,0
3063 | 3061,0
3064 | 3062,0
3065 | 3063,0
3066 | 3064,1
3067 | 3065,0
3068 | 3066,0
3069 | 3067,0
3070 | 3068,0
3071 | 3069,0
3072 | 3070,1
3073 | 3071,0
3074 | 3072,1
3075 | 3073,0
3076 | 3074,0
3077 | 3075,0
3078 | 3076,0
3079 | 3077,0
3080 | 3078,0
3081 | 3079,1
3082 | 3080,0
3083 | 3081,0
3084 | 3082,0
3085 | 3083,0
3086 | 3084,0
3087 | 3085,0
3088 | 3086,0
3089 | 3087,0
3090 | 3088,0
3091 | 3089,0
3092 | 3090,0
3093 | 3091,0
3094 | 3092,0
3095 | 3093,1
3096 | 3094,0
3097 | 3095,0
3098 | 3096,0
3099 | 3097,0
3100 | 3098,0
3101 | 3099,0
3102 | 3100,0
3103 | 3101,0
3104 | 3102,0
3105 | 3103,0
3106 | 3104,0
3107 | 3105,0
3108 | 3106,0
3109 | 3107,0
3110 | 3108,0
3111 | 3109,0
3112 | 3110,0
3113 | 3111,0
3114 | 3112,1
3115 | 3113,1
3116 | 3114,0
3117 | 3115,0
3118 | 3116,0
3119 | 3117,0
3120 | 3118,0
3121 | 3119,0
3122 | 3120,0
3123 | 3121,0
3124 | 3122,0
3125 | 3123,0
3126 | 3124,0
3127 | 3125,1
3128 | 3126,0
3129 | 3127,1
3130 | 3128,0
3131 | 3129,0
3132 | 3130,0
3133 | 3131,0
3134 | 3132,1
3135 | 3133,0
3136 | 3134,0
3137 | 3135,0
3138 | 3136,0
3139 | 3137,0
3140 | 3138,0
3141 | 3139,0
3142 | 3140,0
3143 | 3141,0
3144 | 3142,0
3145 | 3143,0
3146 | 3144,1
3147 | 3145,0
3148 | 3146,0
3149 | 3147,0
3150 | 3148,1
3151 | 3149,0
3152 | 3150,0
3153 | 3151,1
3154 | 3152,0
3155 | 3153,0
3156 | 3154,0
3157 | 3155,0
3158 | 3156,0
3159 | 3157,1
3160 | 3158,0
3161 | 3159,0
3162 | 3160,0
3163 | 3161,0
3164 | 3162,0
3165 | 3163,0
3166 | 3164,0
3167 | 3165,0
3168 | 3166,1
3169 | 3167,0
3170 | 3168,1
3171 | 3169,1
3172 | 3170,0
3173 | 3171,0
3174 | 3172,0
3175 | 3173,0
3176 | 3174,0
3177 | 3175,0
3178 | 3176,0
3179 | 3177,0
3180 | 3178,0
3181 | 3179,0
3182 | 3180,0
3183 | 3181,0
3184 | 3182,0
3185 | 3183,0
3186 | 3184,0
3187 | 3185,0
3188 | 3186,0
3189 | 3187,0
3190 | 3188,0
3191 | 3189,1
3192 | 3190,1
3193 | 3191,1
3194 | 3192,0
3195 | 3193,0
3196 | 3194,0
3197 | 3195,0
3198 | 3196,0
3199 | 3197,0
3200 | 3198,0
3201 | 3199,0
3202 | 3200,0
3203 | 3201,0
3204 | 3202,0
3205 | 3203,0
3206 | 3204,0
3207 | 3205,1
3208 | 3206,0
3209 | 3207,0
3210 | 3208,0
3211 | 3209,1
3212 | 3210,0
3213 | 3211,0
3214 | 3212,0
3215 | 3213,0
3216 | 3214,0
3217 | 3215,0
3218 | 3216,0
3219 | 3217,0
3220 | 3218,0
3221 | 3219,0
3222 | 3220,0
3223 | 3221,0
3224 | 3222,0
3225 | 3223,0
3226 | 3224,1
3227 | 3225,0
3228 | 3226,1
3229 | 3227,0
3230 | 3228,0
3231 | 3229,0
3232 | 3230,0
3233 | 3231,0
3234 | 3232,0
3235 | 3233,0
3236 | 3234,0
3237 | 3235,0
3238 | 3236,0
3239 | 3237,0
3240 | 3238,1
3241 | 3239,0
3242 | 3240,0
3243 | 3241,1
3244 | 3242,0
3245 | 3243,1
3246 | 3244,0
3247 | 3245,0
3248 | 3246,1
3249 | 3247,1
3250 | 3248,0
3251 | 3249,0
3252 | 3250,0
3253 | 3251,0
3254 | 3252,0
3255 | 3253,0
3256 | 3254,0
3257 | 3255,1
3258 | 3256,0
3259 | 3257,0
3260 | 3258,0
3261 | 3259,0
3262 | 3260,0
3263 | 3261,0
3264 | 3262,0
3265 | 3263,0
3266 | 3264,0
3267 | 3265,1
3268 | 3266,0
3269 | 3267,0
3270 | 3268,1
3271 | 3269,0
3272 | 3270,0
3273 | 3271,0
3274 | 3272,1
3275 | 3273,0
3276 | 3274,0
3277 | 3275,0
3278 | 3276,0
3279 | 3277,0
3280 | 3278,0
3281 | 3279,0
3282 | 3280,1
3283 | 3281,0
3284 | 3282,0
3285 | 3283,0
3286 | 3284,0
3287 | 3285,0
3288 | 3286,0
3289 | 3287,1
3290 | 3288,0
3291 | 3289,0
3292 | 3290,0
3293 | 3291,1
3294 | 3292,0
3295 | 3293,0
3296 | 3294,0
3297 | 3295,0
3298 | 3296,0
3299 | 3297,0
3300 | 3298,0
3301 | 3299,0
3302 | 3300,0
3303 | 3301,1
3304 | 3302,0
3305 | 3303,0
3306 | 3304,1
3307 | 3305,0
3308 | 3306,0
3309 | 3307,0
3310 | 3308,0
3311 | 3309,0
3312 | 3310,0
3313 | 3311,0
3314 | 3312,0
3315 | 3313,0
3316 | 3314,0
3317 | 3315,0
3318 | 3316,0
3319 | 3317,0
3320 | 3318,0
3321 | 3319,0
3322 | 3320,1
3323 | 3321,0
3324 | 3322,1
3325 | 3323,1
3326 | 3324,0
3327 | 3325,0
3328 | 3326,0
3329 | 3327,0
3330 | 3328,0
3331 | 3329,0
3332 | 3330,0
3333 | 3331,0
3334 | 3332,0
3335 |
--------------------------------------------------------------------------------
/environment.yml:
--------------------------------------------------------------------------------
1 | name: python-ds
2 | channels:
3 | - pytorch
4 | - conda-forge
5 | - defaults
6 | dependencies:
7 | - aiohttp=3.9.3=py312he70551f_1
8 | - aiosignal=1.3.1=pyhd8ed1ab_0
9 | - alembic=1.13.1=pyhd8ed1ab_1
10 | - altair=5.3.0=pyhd8ed1ab_0
11 | - aniso8601=9.0.1=pyhd8ed1ab_0
12 | - anyio=4.3.0=pyhd8ed1ab_0
13 | - aom=3.7.1=h63175ca_0
14 | - argon2-cffi=23.1.0=pyhd8ed1ab_0
15 | - argon2-cffi-bindings=21.2.0=py312he70551f_4
16 | - arrow=1.3.0=pyhd8ed1ab_0
17 | - asttokens=2.4.1=pyhd8ed1ab_0
18 | - async-lru=2.0.4=pyhd8ed1ab_0
19 | - attrs=23.2.0=pyh71513ae_0
20 | - audioread=3.0.1=py312h2e8e312_1
21 | - aws-c-auth=0.7.16=h7613915_8
22 | - aws-c-cal=0.6.10=hf6fcf4e_2
23 | - aws-c-common=0.9.14=hcfcfb64_0
24 | - aws-c-compression=0.2.18=hf6fcf4e_2
25 | - aws-c-event-stream=0.4.2=h3df98b0_6
26 | - aws-c-http=0.8.1=h4e3df0f_7
27 | - aws-c-io=0.14.6=hf0b8b6f_2
28 | - aws-c-mqtt=0.10.3=h96fac68_2
29 | - aws-c-s3=0.5.5=h08df315_0
30 | - aws-c-sdkutils=0.1.15=hf6fcf4e_2
31 | - aws-checksums=0.1.18=hf6fcf4e_2
32 | - aws-crt-cpp=0.26.4=h944602d_3
33 | - aws-sdk-cpp=1.11.267=hfaf0dd0_4
34 | - babel=2.14.0=pyhd8ed1ab_0
35 | - bcrypt=4.1.2=py312hfccd98a_0
36 | - beautifulsoup4=4.12.3=pyha770c72_0
37 | - blas=1.0=mkl
38 | - bleach=6.1.0=pyhd8ed1ab_0
39 | - blinker=1.7.0=pyhd8ed1ab_0
40 | - blosc=1.21.5=hdccc3a2_0
41 | - branca=0.7.1=pyhd8ed1ab_0
42 | - brotli=1.1.0=hcfcfb64_1
43 | - brotli-bin=1.1.0=hcfcfb64_1
44 | - brotli-python=1.1.0=py312h53d5487_1
45 | - bzip2=1.0.8=hcfcfb64_5
46 | - c-ares=1.28.1=hcfcfb64_0
47 | - c-blosc2=2.14.3=h183a6f4_0
48 | - ca-certificates=2024.3.11=haa95532_0
49 | - cached-property=1.5.2=hd8ed1ab_1
50 | - cached_property=1.5.2=pyha770c72_1
51 | - cachetools=5.3.3=pyhd8ed1ab_0
52 | - cartopy=0.22.0=py312h2ab9e98_1
53 | - certifi=2024.2.2=py312haa95532_0
54 | - cffi=1.16.0=py312he70551f_0
55 | - charls=2.4.2=h1537add_0
56 | - charset-normalizer=3.3.2=pyhd8ed1ab_0
57 | - click=8.1.7=win_pyh7428d3b_0
58 | - cloudpickle=3.0.0=pyhd8ed1ab_0
59 | - colorama=0.4.6=pyhd8ed1ab_0
60 | - comm=0.2.2=pyhd8ed1ab_0
61 | - contourpy=1.2.1=py312h0d7def4_0
62 | - cpuonly=2.0=0
63 | - cryptography=42.0.5=py312h1f4a190_0
64 | - cycler=0.12.1=pyhd8ed1ab_0
65 | - dash=2.16.1=pyhd8ed1ab_0
66 | - dash-bootstrap-components=1.5.0=pyhd8ed1ab_0
67 | - datasets=2.18.0=pyhd8ed1ab_0
68 | - dav1d=1.2.1=hcfcfb64_0
69 | - debugpy=1.8.1=py312h53d5487_0
70 | - decorator=5.1.1=pyhd8ed1ab_0
71 | - defusedxml=0.7.1=pyhd8ed1ab_0
72 | - dill=0.3.8=pyhd8ed1ab_0
73 | - docker-py=7.0.0=pyhd8ed1ab_0
74 | - entrypoints=0.4=pyhd8ed1ab_0
75 | - et_xmlfile=1.1.0=pyhd8ed1ab_0
76 | - exceptiongroup=1.2.0=pyhd8ed1ab_2
77 | - executing=2.0.1=pyhd8ed1ab_0
78 | - filelock=3.13.4=pyhd8ed1ab_0
79 | - flask=3.0.3=pyhd8ed1ab_0
80 | - folium=0.16.0=pyhd8ed1ab_0
81 | - fonttools=4.51.0=py312he70551f_0
82 | - fqdn=1.5.1=pyhd8ed1ab_0
83 | - freetype=2.12.1=hdaf720e_2
84 | - frozenlist=1.4.1=py312he70551f_0
85 | - fsspec=2024.2.0=pyhca7485f_0
86 | - geos=3.12.1=h1537add_0
87 | - gettext=0.22.5=h5728263_2
88 | - gettext-tools=0.22.5=h7d00a51_2
89 | - giflib=5.2.1=h64bf75a_3
90 | - gitdb=4.0.11=pyhd8ed1ab_0
91 | - gitpython=3.1.43=pyhd8ed1ab_0
92 | - glib=2.80.0=h39d0aa6_4
93 | - glib-tools=2.80.0=h0a98069_4
94 | - graphene=3.3=pyhd8ed1ab_0
95 | - graphql-core=3.2.3=pyhd8ed1ab_0
96 | - graphql-relay=3.2.0=pyhd8ed1ab_0
97 | - greenlet=3.0.3=py312h53d5487_0
98 | - gst-plugins-base=1.24.1=h001b923_1
99 | - gstreamer=1.24.1=hb4038d2_1
100 | - h11=0.14.0=pyhd8ed1ab_0
101 | - h2=4.1.0=pyhd8ed1ab_0
102 | - hpack=4.0.0=pyh9f0ad1d_0
103 | - httpcore=1.0.5=pyhd8ed1ab_0
104 | - httpx=0.27.0=pyhd8ed1ab_0
105 | - huggingface_hub=0.22.2=pyhd8ed1ab_0
106 | - hyperframe=6.0.1=pyhd8ed1ab_0
107 | - icu=73.2=h63175ca_0
108 | - idna=3.6=pyhd8ed1ab_0
109 | - imagecodecs=2024.1.1=py312hde2f776_3
110 | - imageio=2.34.0=pyh4b66e23_0
111 | - imbalanced-learn=0.12.2=pyhd8ed1ab_0
112 | - importlib-metadata=7.1.0=pyha770c72_0
113 | - importlib_metadata=7.1.0=hd8ed1ab_0
114 | - importlib_resources=6.4.0=pyhd8ed1ab_0
115 | - intel-openmp=2024.1.0=h57928b3_964
116 | - ipykernel=6.29.3=pyha63f2e9_0
117 | - ipython=8.22.2=pyh7428d3b_0
118 | - ipywidgets=8.1.2=pyhd8ed1ab_0
119 | - isoduration=20.11.0=pyhd8ed1ab_0
120 | - itsdangerous=2.1.2=pyhd8ed1ab_0
121 | - jedi=0.19.1=pyhd8ed1ab_0
122 | - jinja2=3.1.3=pyhd8ed1ab_0
123 | - joblib=1.4.0=pyhd8ed1ab_0
124 | - json5=0.9.24=pyhd8ed1ab_0
125 | - jsonpointer=2.4=py312h2e8e312_3
126 | - jsonschema=4.21.1=pyhd8ed1ab_0
127 | - jsonschema-specifications=2023.12.1=pyhd8ed1ab_0
128 | - jsonschema-with-format-nongpl=4.21.1=pyhd8ed1ab_0
129 | - jupyter=1.0.0=pyhd8ed1ab_10
130 | - jupyter-lsp=2.2.4=pyhd8ed1ab_0
131 | - jupyter_client=8.6.1=pyhd8ed1ab_0
132 | - jupyter_console=6.6.3=pyhd8ed1ab_0
133 | - jupyter_core=5.7.2=py312h2e8e312_0
134 | - jupyter_events=0.10.0=pyhd8ed1ab_0
135 | - jupyter_server=2.13.0=pyhd8ed1ab_0
136 | - jupyter_server_terminals=0.5.3=pyhd8ed1ab_0
137 | - jupyterlab=4.1.6=pyhd8ed1ab_0
138 | - jupyterlab_pygments=0.3.0=pyhd8ed1ab_1
139 | - jupyterlab_server=2.26.0=pyhd8ed1ab_0
140 | - jupyterlab_widgets=3.0.10=pyhd8ed1ab_0
141 | - jxrlib=1.1=hcfcfb64_3
142 | - kiwisolver=1.4.5=py312h0d7def4_1
143 | - krb5=1.21.2=heb0366b_0
144 | - lame=3.100=hcfcfb64_1003
145 | - lazy_loader=0.4=pyhd8ed1ab_0
146 | - lcms2=2.16=h67d730c_0
147 | - lerc=4.0.0=h63175ca_0
148 | - libabseil=20240116.1=cxx17_h63175ca_2
149 | - libaec=1.1.3=h63175ca_0
150 | - libarrow=15.0.2=h878f99b_1_cpu
151 | - libarrow-acero=15.0.2=h63175ca_1_cpu
152 | - libarrow-dataset=15.0.2=h63175ca_1_cpu
153 | - libarrow-flight=15.0.2=h02312f3_1_cpu
154 | - libarrow-flight-sql=15.0.2=h55b4db4_1_cpu
155 | - libarrow-gandiva=15.0.2=h3f2ff47_1_cpu
156 | - libarrow-substrait=15.0.2=h89268de_1_cpu
157 | - libasprintf=0.22.5=h5728263_2
158 | - libasprintf-devel=0.22.5=h5728263_2
159 | - libavif=1.0.1=h7a9aacb_3
160 | - libblas=3.9.0=22_win64_mkl
161 | - libbrotlicommon=1.1.0=hcfcfb64_1
162 | - libbrotlidec=1.1.0=hcfcfb64_1
163 | - libbrotlienc=1.1.0=hcfcfb64_1
164 | - libcblas=3.9.0=22_win64_mkl
165 | - libclang13=18.1.3=default_hf64faad_0
166 | - libcrc32c=1.1.2=h0e60522_0
167 | - libcurl=8.7.1=hd5e4a3a_0
168 | - libdeflate=1.20=hcfcfb64_0
169 | - libevent=2.1.12=h3671451_1
170 | - libexpat=2.6.2=h63175ca_0
171 | - libffi=3.4.2=h8ffe710_5
172 | - libflac=1.4.3=h63175ca_0
173 | - libgettextpo=0.22.5=h5728263_2
174 | - libgettextpo-devel=0.22.5=h5728263_2
175 | - libglib=2.80.0=h39d0aa6_4
176 | - libgoogle-cloud=2.22.0=h9cad5c0_1
177 | - libgoogle-cloud-storage=2.22.0=hb581fae_1
178 | - libgrpc=1.62.1=h5273850_0
179 | - libhwloc=2.9.3=default_haede6df_1009
180 | - libiconv=1.17=hcfcfb64_2
181 | - libintl=0.22.5=h5728263_2
182 | - libintl-devel=0.22.5=h5728263_2
183 | - libjpeg-turbo=3.0.0=hcfcfb64_1
184 | - liblapack=3.9.0=22_win64_mkl
185 | - libogg=1.3.4=h8ffe710_1
186 | - libopus=1.3.1=h8ffe710_1
187 | - libparquet=15.0.2=h7ec3a38_1_cpu
188 | - libpng=1.6.43=h19919ed_0
189 | - libprotobuf=4.25.3=h503648d_0
190 | - libre2-11=2023.09.01=hf8d8778_2
191 | - librosa=0.10.1=pyhd8ed1ab_0
192 | - libsndfile=1.2.2=h81429f1_1
193 | - libsodium=1.0.18=h8d14728_1
194 | - libsqlite=3.45.2=hcfcfb64_0
195 | - libssh2=1.11.0=h7dfc565_0
196 | - libthrift=0.19.0=ha2b3283_1
197 | - libtiff=4.6.0=hddb2be6_3
198 | - libutf8proc=2.8.0=h82a8f57_0
199 | - libuv=1.44.2=h2bbff1b_0
200 | - libvorbis=1.3.7=h0e60522_0
201 | - libwebp-base=1.3.2=hcfcfb64_1
202 | - libxcb=1.15=hcd874cb_0
203 | - libxml2=2.12.6=hc3477c8_1
204 | - libxslt=1.1.39=h3df6e99_0
205 | - libzlib=1.2.13=hcfcfb64_5
206 | - libzopfli=1.0.3=h0e60522_0
207 | - llvmlite=0.42.0=py312h7894644_1
208 | - lxml=5.1.0=py312hd086842_0
209 | - lz4-c=1.9.4=hcfcfb64_0
210 | - m2w64-gcc-libgfortran=5.3.0=6
211 | - m2w64-gcc-libs=5.3.0=7
212 | - m2w64-gcc-libs-core=5.3.0=7
213 | - m2w64-gmp=6.1.0=2
214 | - m2w64-libwinpthread-git=5.0.0.4634.697f757=2
215 | - mako=1.3.3=pyhd8ed1ab_0
216 | - markdown=3.6=pyhd8ed1ab_0
217 | - markdown-it-py=3.0.0=pyhd8ed1ab_0
218 | - markupsafe=2.1.5=py312he70551f_0
219 | - matplotlib=3.8.4=py312h2e8e312_0
220 | - matplotlib-base=3.8.4=py312h26ecaf7_0
221 | - matplotlib-inline=0.1.6=pyhd8ed1ab_0
222 | - mdurl=0.1.2=pyhd8ed1ab_0
223 | - mistune=3.0.2=pyhd8ed1ab_0
224 | - mkl=2024.1.0=h66d3029_692
225 | - mlflow=2.11.3=h2e8e312_0
226 | - mlflow-skinny=2.11.3=py312h2e8e312_0
227 | - mlflow-ui=2.11.3=py312h2e8e312_0
228 | - mpg123=1.32.6=h63175ca_0
229 | - mpmath=1.3.0=py312haa95532_0
230 | - msgpack-python=1.0.7=py312h0d7def4_0
231 | - msys2-conda-epoch=20160418=1
232 | - multidict=6.0.5=py312he70551f_0
233 | - multiprocess=0.70.16=py312he70551f_0
234 | - munkres=1.1.4=pyh9f0ad1d_0
235 | - nbclient=0.10.0=pyhd8ed1ab_0
236 | - nbconvert=7.16.3=hd8ed1ab_0
237 | - nbconvert-core=7.16.3=pyhd8ed1ab_0
238 | - nbconvert-pandoc=7.16.3=hd8ed1ab_0
239 | - nbformat=5.10.4=pyhd8ed1ab_0
240 | - nest-asyncio=1.6.0=pyhd8ed1ab_0
241 | - networkx=3.3=pyhd8ed1ab_1
242 | - nltk=3.8.1=pyhd8ed1ab_0
243 | - notebook=7.1.2=pyhd8ed1ab_0
244 | - notebook-shim=0.2.4=pyhd8ed1ab_0
245 | - numba=0.59.1=py312h115d327_0
246 | - numpy=1.26.4=py312h8753938_0
247 | - openjpeg=2.5.2=h3d672ee_0
248 | - openpyxl=3.1.2=py312he70551f_1
249 | - openssl=3.2.1=hcfcfb64_1
250 | - orc=2.0.0=heb0c069_0
251 | - overrides=7.7.0=pyhd8ed1ab_0
252 | - packaging=23.2=pyhd8ed1ab_0
253 | - pandas=2.2.1=py312h2ab9e98_0
254 | - pandoc=3.1.13=h57928b3_0
255 | - pandocfilters=1.5.0=pyhd8ed1ab_0
256 | - paramiko=3.4.0=pyhd8ed1ab_0
257 | - parso=0.8.4=pyhd8ed1ab_0
258 | - patsy=0.5.6=pyhd8ed1ab_0
259 | - pcre2=10.43=h17e33f8_0
260 | - pickleshare=0.7.5=py_1003
261 | - pillow=10.3.0=py312h6f6a607_0
262 | - pip=24.0=pyhd8ed1ab_0
263 | - pkgutil-resolve-name=1.3.10=pyhd8ed1ab_1
264 | - platformdirs=4.2.0=pyhd8ed1ab_0
265 | - plotly=5.19.0=pyhd8ed1ab_0
266 | - ply=3.11=pyhd8ed1ab_2
267 | - pooch=1.8.1=pyhd8ed1ab_0
268 | - proj=9.3.1=he13c7e8_0
269 | - prometheus_client=0.20.0=pyhd8ed1ab_0
270 | - prometheus_flask_exporter=0.23.0=pyhd8ed1ab_0
271 | - prompt-toolkit=3.0.42=pyha770c72_0
272 | - prompt_toolkit=3.0.42=hd8ed1ab_0
273 | - protobuf=4.25.3=py312h5594109_0
274 | - psutil=5.9.8=py312he70551f_0
275 | - pthread-stubs=0.4=hcd874cb_1001
276 | - pthreads-win32=2.9.1=hfa6e2cd_3
277 | - pure_eval=0.2.2=pyhd8ed1ab_0
278 | - pyarrow=15.0.2=py312h85e32bb_1_cpu
279 | - pyarrow-hotfix=0.6=pyhd8ed1ab_0
280 | - pycparser=2.22=pyhd8ed1ab_0
281 | - pydeck=0.8.0=pyhd8ed1ab_0
282 | - pygments=2.17.2=pyhd8ed1ab_0
283 | - pynacl=1.5.0=py312hc560f31_3
284 | - pyparsing=3.1.2=pyhd8ed1ab_0
285 | - pyproj=3.6.1=py312hc725b1e_5
286 | - pyqt=5.15.9=py312he09f080_5
287 | - pyqt5-sip=12.12.2=py312h53d5487_5
288 | - pyreadr=0.5.0=py312h56036e7_0
289 | - pyshp=2.3.1=pyhd8ed1ab_0
290 | - pysocks=1.7.1=pyh0701188_6
291 | - pysoundfile=0.12.1=pyhd8ed1ab_0
292 | - python=3.12.2=h2628c8c_0_cpython
293 | - python-dateutil=2.9.0=pyhd8ed1ab_0
294 | - python-fastjsonschema=2.19.1=pyhd8ed1ab_0
295 | - python-json-logger=2.0.7=pyhd8ed1ab_0
296 | - python-tzdata=2024.1=pyhd8ed1ab_0
297 | - python-xxhash=3.4.1=py312he70551f_0
298 | - python_abi=3.12=4_cp312
299 | - pytorch=2.2.2=py3.12_cpu_0
300 | - pytorch-mutex=1.0=cpu
301 | - pytz=2024.1=pyhd8ed1ab_0
302 | - pywavelets=1.4.1=py312ha90f08f_1
303 | - pywin32=306=py312h53d5487_2
304 | - pywin32-on-windows=0.1.0=pyh07e9846_2
305 | - pywinpty=2.0.13=py312h53d5487_0
306 | - pyyaml=6.0.1=py312he70551f_1
307 | - pyzmq=25.1.2=py312h1ac6f91_0
308 | - qt-main=5.15.8=hcef0176_21
309 | - qtconsole-base=5.5.1=pyha770c72_0
310 | - qtpy=2.4.1=pyhd8ed1ab_0
311 | - querystring_parser=1.2.4=py_0
312 | - rav1e=0.6.6=h975169c_2
313 | - re2=2023.09.01=hd3b24a8_2
314 | - referencing=0.34.0=pyhd8ed1ab_0
315 | - regex=2023.12.25=py312he70551f_0
316 | - requests=2.31.0=pyhd8ed1ab_0
317 | - retrying=1.3.3=py_2
318 | - rfc3339-validator=0.1.4=pyhd8ed1ab_0
319 | - rfc3986-validator=0.1.1=pyh9f0ad1d_0
320 | - rich=13.7.1=pyhd8ed1ab_0
321 | - rpds-py=0.18.0=py312hfccd98a_0
322 | - safetensors=0.4.2=py312hfccd98a_0
323 | - scikit-image=0.22.0=py312h2ab9e98_2
324 | - scikit-learn=1.4.1.post1=py312hcacafb1_0
325 | - scipy=1.13.0=py312h8753938_0
326 | - seaborn=0.13.2=hd8ed1ab_0
327 | - seaborn-base=0.13.2=pyhd8ed1ab_0
328 | - send2trash=1.8.3=pyh5737063_0
329 | - setuptools=69.2.0=pyhd8ed1ab_0
330 | - shapely=2.0.3=py312h7d70906_0
331 | - sip=6.7.12=py312h53d5487_0
332 | - six=1.16.0=pyh6c4a22f_0
333 | - smmap=5.0.0=pyhd8ed1ab_0
334 | - snappy=1.1.10=hfb803bf_1
335 | - sniffio=1.3.1=pyhd8ed1ab_0
336 | - soupsieve=2.5=pyhd8ed1ab_1
337 | - soxr=0.1.3=hcfcfb64_3
338 | - soxr-python=0.3.7=py312ha90f08f_0
339 | - sqlalchemy=2.0.29=py312he70551f_0
340 | - sqlite=3.45.2=hcfcfb64_0
341 | - sqlparse=0.4.4=pyhd8ed1ab_0
342 | - stack_data=0.6.2=pyhd8ed1ab_0
343 | - statsmodels=0.14.1=py312ha90f08f_0
344 | - streamlit=1.33.0=pyhd8ed1ab_1
345 | - svt-av1=1.7.0=h63175ca_0
346 | - sympy=1.12=py312haa95532_0
347 | - tbb=2021.11.0=h91493d7_1
348 | - tenacity=8.2.3=pyhd8ed1ab_0
349 | - terminado=0.18.1=pyh5737063_0
350 | - threadpoolctl=3.4.0=pyhc1e730c_0
351 | - tifffile=2024.2.12=pyhd8ed1ab_0
352 | - tinycss2=1.2.1=pyhd8ed1ab_0
353 | - tk=8.6.13=h5226925_1
354 | - tokenizers=0.15.2=py312h7ac22d7_0
355 | - toml=0.10.2=pyhd8ed1ab_0
356 | - tomli=2.0.1=pyhd8ed1ab_0
357 | - toolz=0.12.1=pyhd8ed1ab_0
358 | - tornado=6.4=py312he70551f_0
359 | - tqdm=4.66.2=pyhd8ed1ab_0
360 | - traitlets=5.14.2=pyhd8ed1ab_0
361 | - transformers=4.39.3=pyhd8ed1ab_0
362 | - types-python-dateutil=2.9.0.20240316=pyhd8ed1ab_0
363 | - typing-extensions=4.11.0=hd8ed1ab_0
364 | - typing_extensions=4.11.0=pyha770c72_0
365 | - typing_utils=0.1.0=pyhd8ed1ab_0
366 | - tzdata=2024a=h0c530f3_0
367 | - tzlocal=5.2=py312h2e8e312_0
368 | - ucrt=10.0.22621.0=h57928b3_0
369 | - uri-template=1.3.0=pyhd8ed1ab_0
370 | - urllib3=2.2.1=pyhd8ed1ab_0
371 | - validators=0.28.0=pyhd8ed1ab_0
372 | - vc=14.3=hcf57466_18
373 | - vc14_runtime=14.38.33130=h82b7239_18
374 | - vs2015_runtime=14.38.33130=hcb4865c_18
375 | - waitress=2.1.2=pyhd8ed1ab_0
376 | - watchdog=4.0.0=py312h2e8e312_0
377 | - wcwidth=0.2.13=pyhd8ed1ab_0
378 | - webcolors=1.13=pyhd8ed1ab_0
379 | - webencodings=0.5.1=pyhd8ed1ab_2
380 | - websocket-client=1.7.0=pyhd8ed1ab_0
381 | - werkzeug=3.0.2=pyhd8ed1ab_0
382 | - wheel=0.43.0=pyhd8ed1ab_1
383 | - widgetsnbextension=4.0.10=pyhd8ed1ab_0
384 | - win_inet_pton=1.1.0=pyhd8ed1ab_6
385 | - winpty=0.4.3=4
386 | - xorg-libxau=1.0.11=hcd874cb_0
387 | - xorg-libxdmcp=1.1.3=hcd874cb_0
388 | - xxhash=0.8.2=hcfcfb64_0
389 | - xyzservices=2024.4.0=pyhd8ed1ab_0
390 | - xz=5.2.6=h8d14728_0
391 | - yaml=0.2.5=h8ffe710_2
392 | - yarl=1.9.4=py312he70551f_0
393 | - zeromq=4.3.5=h63175ca_1
394 | - zfp=1.0.1=h63175ca_0
395 | - zipp=3.17.0=pyhd8ed1ab_0
396 | - zlib-ng=2.0.7=hcfcfb64_0
397 | - zstd=1.5.5=h12be248_0
398 | - pip:
399 | - absl-py==2.1.0
400 | - astunparse==1.6.3
401 | - flatbuffers==24.3.25
402 | - gast==0.5.4
403 | - google-pasta==0.2.0
404 | - grpcio==1.62.1
405 | - h5py==3.11.0
406 | - keras==3.2.1
407 | - libclang==18.1.1
408 | - ml-dtypes==0.3.2
409 | - namex==0.0.7
410 | - opt-einsum==3.3.0
411 | - optree==0.11.0
412 | - tensorboard==2.16.2
413 | - tensorboard-data-server==0.7.2
414 | - tensorflow==2.16.1
415 | - tensorflow-intel==2.16.1
416 | - termcolor==2.4.0
417 | - wrapt==1.16.0
418 |
--------------------------------------------------------------------------------
/notebooks/07_01_Big_data_import.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "# Chapitre 7 - Passage au big data (1ère partie)\n",
8 | "\n",
9 | "**Dans le cadre de ce Notebook, nous allons parler de l'environnement Apache Hadoop. Ce notebook n'est donc pas applicable dans votre environnement \"classique\".**\n",
10 | "\n",
11 | "**Pour que le code foctionnne, il vous faut un environnement Hadoop accessible depuis votre machine.**\n",
12 | "\n",
13 | "**N'essayez pas de faire fonctionner les cellules si votre environnemnt n'est pas correctement paramétré.**\n",
14 | "\n",
15 | "## 7. 1 Est-ce qu’on change tout quand on parle de big data ?"
16 | ]
17 | },
18 | {
19 | "cell_type": "markdown",
20 | "metadata": {},
21 | "source": [
22 | "Python est souvent considéré comme le langage du big data. Ceci vient du fait\n",
23 | "que la notion de big data est souvent mal définie par beaucoup d’utilisateurs. \n",
24 | "\n",
25 | "On a pu voir que Python est un langage bien adapté au traitement de la donnée et au machine learning grâce à sa simplicité, ses principes de fonctionnement et toutes les API disponibles. \n",
26 | "\n",
27 | "Dans le cadre du big data, on est exactement dans le même cas de figure qu’en deep learning. Vous ne trouverez aucun environnement big data nativement développé en Python. Ils sont majoritairement développés en Java. Cependant,\n",
28 | "Python sera très souvent un langage pour lequel il existe des API assez poussées.\n",
29 | "\n",
30 | "Les principes du langage Python restent les mêmes mais les commandes, fonctions\n",
31 | "et actions dépendront de l’API utilisée et donc du package sollicité."
32 | ]
33 | },
34 | {
35 | "cell_type": "markdown",
36 | "metadata": {},
37 | "source": [
38 | "On utilisera ici Python pour récupérer des données sur un cluster Hadoop. Nous parlerons de Apache Spark dans le prochain Notebook"
39 | ]
40 | },
41 | {
42 | "cell_type": "markdown",
43 | "metadata": {},
44 | "source": [
45 | "## 7.3 Récupérer des données avec Python\n",
46 | "### 7.3.1 Les approches classiques\n",
47 | "Apache Hadoop est donc un environnement big data écrit en Java donnant accès à\n",
48 | "un système de fichiers distribués appelé HDFS et à des outils permettant d’extraire des\n",
49 | "informations de ces données.\n",
50 | "\n",
51 | "Nous sommes donc dans un cas, où nos données sont stockées dans des formats\n",
52 | "dits NoSQL (Not Only SQL) et où vous désirez les récupérer pour vos analyses en\n",
53 | "Python. \n",
54 | "\n",
55 | "Si vous passez par Python, vous allez charger en mémoire les données que\n",
56 | "vous récupérez de votre infrastructure. Ainsi, si ces données sont massives, vous allez très rapidement vous trouver face à un problème de taille : la capacité de votre machine en termes de mémoire vive.\n",
57 | "\n",
58 | "Il faut donc faire en sorte de ne charger sur votre machine que les données utiles et, réfléchir à la mise en place d’infrastructures plus puissantes. Par exemple, un serveur JupyterHub extrêmement puissant qui pourra traiter des masses de données plus importantes que votre machine."
59 | ]
60 | },
61 | {
62 | "cell_type": "markdown",
63 | "metadata": {},
64 | "source": [
65 | "### 7.3.2 Se connecter aux fichiers HDFS en Python – Utilisation de PyArrow\n",
66 | "Le système de fichiers HDFS est accessible en utilisant la commande hdfs depuis\n",
67 | "le terminal. Néanmoins, cet outil est codé en Java et ne possède pas nativement\n",
68 | "d’API Python.\n",
69 | "\n",
70 | "La seule solution simple adaptée à Python 3 est liée au projet Apache Arrow. Il s’agit d’un environnement visant à unifier le traitement en mémoire de données colonnes.\n",
71 | "\n",
72 | "Pour utiliser Arrow, nous allons installer son API Python qui est dans le package PyArrow. \n",
73 | "\n",
74 | "Nous le récupérons grâce à Anaconda :"
75 | ]
76 | },
77 | {
78 | "cell_type": "code",
79 | "execution_count": null,
80 | "metadata": {},
81 | "outputs": [],
82 | "source": [
83 | "!conda install -c conda-forge pyarrow"
84 | ]
85 | },
86 | {
87 | "cell_type": "markdown",
88 | "metadata": {},
89 | "source": [
90 | "Une fois que vous l’avez installé dans votre environnement, vous pouvez vous\n",
91 | "connecter au système de fichiers :"
92 | ]
93 | },
94 | {
95 | "cell_type": "code",
96 | "execution_count": null,
97 | "metadata": {},
98 | "outputs": [],
99 | "source": [
100 | "from pyarrow import fs\n",
101 | "hdfs = fs.HadoopFileSystem(host, port, user=user,kerb_ticket=ticket_cache_path)\n",
102 | "with hdfs.open_input_file('path/to/file') as f:\n",
103 | " ___"
104 | ]
105 | },
106 | {
107 | "cell_type": "markdown",
108 | "metadata": {},
109 | "source": [
110 | "Vous pouvez utiliser les commandes qui se trouvent dans l’objet de la classe\n",
111 | "*HdfsClient* que vous avez créé pour faire des actions sur votre environnement\n",
112 | "Hadoop.\n",
113 | "\n",
114 | "Ceci vous permettra de gérer de nombreux types de fichiers, notamment les fichiers Apache Parquet de votre environnement big data.\n",
115 | "\n",
116 | "Le projet Apache Arrow est en pleine expansion et, selon les responsables de\n",
117 | "la fondation Apache, il devrait traiter près de 80 % des données big data dans les prochaines années."
118 | ]
119 | },
120 | {
121 | "cell_type": "markdown",
122 | "metadata": {},
123 | "source": [
124 | "Les approches présentées jusqu’ici ne sont pas utilisées de manière généralisée.\n",
125 | "\n",
126 | "L’outil de big data employé par les data scientists, c’est Apache Spark. Il permet, entre autres, de charger des fichiers en Hive, mais surtout de faire du machine learning. Nous en parlons dans le prochain Notebook."
127 | ]
128 | }
129 | ],
130 | "metadata": {
131 | "kernelspec": {
132 | "display_name": "Python 3 (ipykernel)",
133 | "language": "python",
134 | "name": "python3"
135 | },
136 | "language_info": {
137 | "codemirror_mode": {
138 | "name": "ipython",
139 | "version": 3
140 | },
141 | "file_extension": ".py",
142 | "mimetype": "text/x-python",
143 | "name": "python",
144 | "nbconvert_exporter": "python",
145 | "pygments_lexer": "ipython3",
146 | "version": "3.12.2"
147 | }
148 | },
149 | "nbformat": 4,
150 | "nbformat_minor": 4
151 | }
152 |
--------------------------------------------------------------------------------
/notebooks/07_02_Spark.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "# Chapitre 7 - Passage au big data (2ème partie)"
8 | ]
9 | },
10 | {
11 | "cell_type": "markdown",
12 | "metadata": {},
13 | "source": [
14 | "**Dans le cadre de ce Notebook, nous allons parler de l'environnement Apache Spark. Ce notebook n'est donc pas applicable dans votre environnement \"classique\".**\n",
15 | "\n",
16 | "**Pour que le code foctionnne, il vous faut un environnement Spark correctement installé.**\n",
17 | "\n",
18 | "**N'essayez pas de faire fonctionner les cellules si votre environnemnt n'est pas correctement paramétré. Les cellules de code ont été passées au format RawNBConvert afin de ne pas rendre le Notebook inutilisable**"
19 | ]
20 | },
21 | {
22 | "cell_type": "markdown",
23 | "metadata": {},
24 | "source": [
25 | "Apache Spark est un projet de la fondation Apache (actuellement dans sa version 3).\n",
26 | "\n",
27 | "Il a pour objectif de pallier les lacunes de Hadoop quant au traitement nécessitant de nombreux allers-retours.\n",
28 | "\n",
29 | "Si, malgré tous vos efforts, vous n’avez pas réussi à extraire des données de\n",
30 | "manière qu’elles tiennent dans votre mémoire RAM, le recours à une autre solution deviendra indispensable. Cette solution est Apache Spark.\n",
31 | "\n",
32 | "Cet environnement, développé à Berkeley, est un système de traitement distribué\n",
33 | "sur les noeuds d’une infrastructure big data."
34 | ]
35 | },
36 | {
37 | "cell_type": "markdown",
38 | "metadata": {},
39 | "source": [
40 | "Si vous voulez tester Spark, je vous conseille d'essayer la version gratuite de Databricks qui est simple d'accèes :\n",
41 | "\n",
42 | "https://databricks.com/signup#signup/community\n",
43 | " "
44 | ]
45 | },
46 | {
47 | "cell_type": "markdown",
48 | "metadata": {},
49 | "source": [
50 | "### 7.4.3 Le DataFrame de Spark SQL\n",
51 | "\n",
52 | "Nous allons nous concentrer sur Spark SQL. Ceci nous permettra d’introduire un objet : le DataFrame de Spark. Il s’agit d’un objet proche du RDD, mais qui permet de stocker de manière distribuée des données structurées, là où les RDD nous permettent de stocker des données non structurées.\n",
53 | "\n",
54 | "Il se rapproche très fortement du DataFrame de Pandas."
55 | ]
56 | },
57 | {
58 | "cell_type": "markdown",
59 | "metadata": {},
60 | "source": [
61 | "#### Lancer votre session Spark\n",
62 | "Commençons par lancer une session Spark en utilisant dans un premier temps le\n",
63 | "package findspark et la classe SparkSession de pyspark.sql :"
64 | ]
65 | },
66 | {
67 | "cell_type": "code",
68 | "execution_count": 1,
69 | "metadata": {},
70 | "outputs": [
71 | {
72 | "name": "stderr",
73 | "output_type": "stream",
74 | "text": [
75 | "24/01/07 22:02:02 WARN Utils: Your hostname, r2-60-gra7 resolves to a loopback address: 127.0.1.1; using 51.91.138.22 instead (on interface ens3)\n",
76 | "24/01/07 22:02:02 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address\n",
77 | "WARNING: An illegal reflective access operation has occurred\n",
78 | "WARNING: Illegal reflective access by org.apache.spark.unsafe.Platform (file:/opt/spark/jars/spark-unsafe_2.12-3.2.0.jar) to constructor java.nio.DirectByteBuffer(long,int)\n",
79 | "WARNING: Please consider reporting this to the maintainers of org.apache.spark.unsafe.Platform\n",
80 | "WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations\n",
81 | "WARNING: All illegal access operations will be denied in a future release\n",
82 | "Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties\n",
83 | "Setting default log level to \"WARN\".\n",
84 | "To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).\n",
85 | "24/01/07 22:02:03 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable\n",
86 | "24/01/07 22:02:04 WARN Utils: Service 'SparkUI' could not bind on port 4040. Attempting port 4041.\n"
87 | ]
88 | }
89 | ],
90 | "source": [
91 | "# on importe findspark\n",
92 | "import findspark\n",
93 | "# on initialise findspark pour identifier nos chemins Spark\n",
94 | "findspark.init()\n",
95 | "# on importe SparkSession\n",
96 | "from pyspark.sql import SparkSession\n",
97 | "# on crée une session Spark\n",
98 | "spark = SparkSession.builder \\\n",
99 | " .appName(\"Exemples avec Python et Spark SQL\") \\\n",
100 | " .getOrCreate()"
101 | ]
102 | },
103 | {
104 | "cell_type": "markdown",
105 | "metadata": {},
106 | "source": [
107 | "#### Lecture des données (json, parquet, csv, hive)\n",
108 | "\n",
109 | "Spark vous permet de lire de nombreux types de données, que ce soit des données csv ou SQL classiques ou des données issues d’environnements big data. En voici quelques exemples :"
110 | ]
111 | },
112 | {
113 | "cell_type": "code",
114 | "execution_count": 2,
115 | "metadata": {},
116 | "outputs": [
117 | {
118 | "name": "stderr",
119 | "output_type": "stream",
120 | "text": [
121 | "24/01/07 22:02:10 WARN package: Truncated the string representation of a plan since it was too large. This behavior can be adjusted by setting 'spark.sql.debug.maxToStringFields'.\n"
122 | ]
123 | }
124 | ],
125 | "source": [
126 | "# lecture d’un fichier json\n",
127 | "df = spark.read.json(\"../data/data.json\")\n",
128 | "# lecture d’un fichier parquet\n",
129 | "df3 = spark.read.load(\"../data/data.parquet\")"
130 | ]
131 | },
132 | {
133 | "cell_type": "markdown",
134 | "metadata": {},
135 | "source": [
136 | "Spark permet aussi d’utiliser des données issues de fichiers csv :"
137 | ]
138 | },
139 | {
140 | "cell_type": "code",
141 | "execution_count": 3,
142 | "metadata": {},
143 | "outputs": [],
144 | "source": [
145 | "data_idf=spark.read.format(\"csv\").option(\"header\", \"true\")\\\n",
146 | " .option(\"delimiter\",\";\")\\\n",
147 | " .option(\"inferSchema\", \"true\")\\\n",
148 | " .load(\"../data/base-comparateur-de-territoires.csv\")"
149 | ]
150 | },
151 | {
152 | "cell_type": "markdown",
153 | "metadata": {},
154 | "source": [
155 | "Un autre format important dans le cadre du big data est le format Hive. Pour se\n",
156 | "connecter à une base Hive et soumettre du code SQL, on utilisera :"
157 | ]
158 | },
159 | {
160 | "cell_type": "raw",
161 | "metadata": {},
162 | "source": [
163 | "from pyspark.sql import SparkSession\n",
164 | "# on crée une session avec accès à Hive\n",
165 | "spark = SparkSession.builder\\\n",
166 | " .config(\"spark.sql.warehouse.dir\", warehouse_location) \\\n",
167 | " .enableHiveSupport().getOrCreate()\n",
168 | "\n",
169 | "# on peut afficher une base\n",
170 | "spark.sql('show databases').show()\n",
171 | "\n",
172 | "# on peut créer une base\n",
173 | "spark.sql('create database base1')\n",
174 | "\n",
175 | "# on peut faire des requêtes en SQL\n",
176 | "spark.sql(\"select * from table1\").show()"
177 | ]
178 | },
179 | {
180 | "cell_type": "markdown",
181 | "metadata": {},
182 | "source": [
183 | "On peut aussi transformer un DataFrame Pandas en DataFrame Spark en utilisant :"
184 | ]
185 | },
186 | {
187 | "cell_type": "code",
188 | "execution_count": 4,
189 | "metadata": {},
190 | "outputs": [],
191 | "source": [
192 | "import pandas as pd\n",
193 | "pandas_df = pd.DataFrame([10,20,30])\n",
194 | "spark_df = spark.createDataFrame(pandas_df)"
195 | ]
196 | },
197 | {
198 | "cell_type": "markdown",
199 | "metadata": {},
200 | "source": [
201 | "#### Manipuler des DataFrames\n",
202 | "Il est très simple de manipuler des DataFrames de différentes manières. Spark part du principe que les calculs ne sont pas effectués chaque fois que vous soumettez du code. \n",
203 | "\n",
204 | "Ils le sont lorsque vous demandez explicitement à Spark de faire les calculs ou\n",
205 | "d’afficher les résultats. Ces opérations de calcul ou d’affichage sont appliquées avec les méthodes .collect() ou .show().\n",
206 | "\n",
207 | "Nous allons manipuler les données sur les communes d’Île-de-France. Nous\n",
208 | "voulons extraire des informations de ces données sur les communes de la région\n",
209 | "Île-de-France.\n",
210 | "\n",
211 | "Les codes ci-dessous nous\n",
212 | "permettent d’effectuer la plupart des manipulations dont nous avons besoin :"
213 | ]
214 | },
215 | {
216 | "cell_type": "code",
217 | "execution_count": 5,
218 | "metadata": {},
219 | "outputs": [
220 | {
221 | "data": {
222 | "text/plain": [
223 | "['CODGEO', 'LIBGEO', 'REG', 'DEP', 'P14_POP', 'P09_POP', 'SUPERF', 'NAIS0914']"
224 | ]
225 | },
226 | "execution_count": 5,
227 | "metadata": {},
228 | "output_type": "execute_result"
229 | }
230 | ],
231 | "source": [
232 | "# on récupère les données d’Ile-de-France\n",
233 | "# on a des titres dans la première ligne\n",
234 | "# le séparateur est le;\n",
235 | "# on demande à Spark d’inférer les types\n",
236 | "data_idf = spark.read.format(\"csv\").option(\"header\", \"true\")\\\n",
237 | " .option(\"delimiter\",\";\")\\\n",
238 | " .option(\"inferSchema\", \"true\")\\\n",
239 | " .load(\"../data/base-comparateur-de-territoires.csv\")\n",
240 | "# on peut afficher les 8 premiers noms de colonnes :\n",
241 | "data_idf.columns[:8]"
242 | ]
243 | },
244 | {
245 | "cell_type": "code",
246 | "execution_count": 6,
247 | "metadata": {},
248 | "outputs": [
249 | {
250 | "name": "stdout",
251 | "output_type": "stream",
252 | "text": [
253 | "+--------------------+\n",
254 | "| LIBGEO|\n",
255 | "+--------------------+\n",
256 | "| Saint-Gratien|\n",
257 | "| Pierrelaye|\n",
258 | "|Saint-Cyr-en-Arthies|\n",
259 | "| La Roche-Guyon|\n",
260 | "| Villiers-Adam|\n",
261 | "| Vallangoujard|\n",
262 | "| Le Plessis-Gassot|\n",
263 | "| Seugy|\n",
264 | "| Villers-en-Arthies|\n",
265 | "| Vaudherland|\n",
266 | "| Asnières-sur-Oise|\n",
267 | "| Saint-Maurice|\n",
268 | "| Arnouville|\n",
269 | "| Bray-et-Lû|\n",
270 | "| Santeny|\n",
271 | "| Le Plessis-Trévise|\n",
272 | "| Bezons|\n",
273 | "| Butry-sur-Oise|\n",
274 | "| Beauchamp|\n",
275 | "| Banthelu|\n",
276 | "+--------------------+\n",
277 | "only showing top 20 rows\n",
278 | "\n"
279 | ]
280 | }
281 | ],
282 | "source": [
283 | "# on sélectionne une colonne et on affiche le résultat\n",
284 | "data_idf.select(\"LIBGEO\").show()"
285 | ]
286 | },
287 | {
288 | "cell_type": "markdown",
289 | "metadata": {},
290 | "source": [
291 | "Les opérations ci-dessus sont stockées en mémoire et ne renvoient rien. C’est\n",
292 | "uniquement lorsqu’on ajoute show() ou collect() que les opérations sont\n",
293 | "effectuées."
294 | ]
295 | },
296 | {
297 | "cell_type": "code",
298 | "execution_count": 7,
299 | "metadata": {},
300 | "outputs": [],
301 | "source": [
302 | "# on crée un DataFrame par opération avec deux colonnes dont une colonne\n",
303 | "# qui indique si la commune est dans Paris\n",
304 | "data_reduced = data_idf.select(\"P14_POP\", data_idf[\"LIBGEO\"].startswith(\"Paris\"), \"LIBGEO\")\n",
305 | "# on peut aussi travailler sur les colonnes\n",
306 | "# on peut renommer une colonne :\n",
307 | "data_col = data_idf.withColumnRenamed('P14_POP', 'Population_2014')\n",
308 | "# on peut supprimer une colonne :\n",
309 | "data_col = data_col.drop(\"LIBGEO\", \"Population_2014\")"
310 | ]
311 | },
312 | {
313 | "cell_type": "code",
314 | "execution_count": 8,
315 | "metadata": {},
316 | "outputs": [
317 | {
318 | "name": "stdout",
319 | "output_type": "stream",
320 | "text": [
321 | "+--------+-------------------------+--------------------+\n",
322 | "| P14_POP|startswith(LIBGEO, Paris)| LIBGEO|\n",
323 | "+--------+-------------------------+--------------------+\n",
324 | "| 21263.0| true|Paris 2e Arrondis...|\n",
325 | "| 26796.0| true|Paris 4e Arrondis...|\n",
326 | "|165745.0| true|Paris 16e Arrondi...|\n",
327 | "|170186.0| true|Paris 17e Arrondi...|\n",
328 | "| 60030.0| true|Paris 5e Arrondis...|\n",
329 | "| 55486.0| true|Paris 7e Arrondis...|\n",
330 | "|182318.0| true|Paris 13e Arrondi...|\n",
331 | "|141230.0| true|Paris 14e Arrondi...|\n",
332 | "|195468.0| true|Paris 20e Arrondi...|\n",
333 | "|199135.0| true|Paris 18e Arrondi...|\n",
334 | "|187156.0| true|Paris 19e Arrondi...|\n",
335 | "| 35077.0| true|Paris 3e Arrondis...|\n",
336 | "| 43134.0| true|Paris 6e Arrondis...|\n",
337 | "| 38257.0| true|Paris 8e Arrondis...|\n",
338 | "| 59389.0| true|Paris 9e Arrondis...|\n",
339 | "| 92228.0| true|Paris 10e Arrondi...|\n",
340 | "|151542.0| true|Paris 11e Arrondi...|\n",
341 | "| 16717.0| true|Paris 1er Arrondi...|\n",
342 | "|143922.0| true|Paris 12e Arrondi...|\n",
343 | "|235366.0| true|Paris 15e Arrondi...|\n",
344 | "+--------+-------------------------+--------------------+\n",
345 | "\n"
346 | ]
347 | }
348 | ],
349 | "source": [
350 | "# on peut filtrer les observations\n",
351 | "data_reduced.filter(data_reduced['startswith(LIBGEO, Paris)'] == True).show()"
352 | ]
353 | },
354 | {
355 | "cell_type": "markdown",
356 | "metadata": {},
357 | "source": [
358 | "Nous avons sélectionné uniquement les observations commençant par « Paris »,\n",
359 | "on obtient donc les 20 arrondissements et leurs populations.\n",
360 | "\n",
361 | "On peut alors sauver ces données sous forme de fichiers parquet ou json :"
362 | ]
363 | },
364 | {
365 | "cell_type": "code",
366 | "execution_count": 9,
367 | "metadata": {},
368 | "outputs": [
369 | {
370 | "name": "stderr",
371 | "output_type": "stream",
372 | "text": [
373 | "\r",
374 | "[Stage 8:> (0 + 1) / 1]\r",
375 | "\r",
376 | " \r"
377 | ]
378 | }
379 | ],
380 | "source": [
381 | "data_reduced.select(\"P14_POP\",\"LIBGEO\").write.save(\"resultat.parquet\")\n",
382 | "data_reduced.select(\"P14_POP\",\"LIBGEO\").write.save(\"resultat.json\",format=\"json\")"
383 | ]
384 | },
385 | {
386 | "cell_type": "markdown",
387 | "metadata": {},
388 | "source": [
389 | "#### Afficher des statistiques descriptives\n",
390 | "Spark permet aussi de calculer des statistiques sur les données en utilisant, par\n",
391 | "exemple, une opération groupby :"
392 | ]
393 | },
394 | {
395 | "cell_type": "code",
396 | "execution_count": 10,
397 | "metadata": {},
398 | "outputs": [
399 | {
400 | "name": "stdout",
401 | "output_type": "stream",
402 | "text": [
403 | "+---+------------------+\n",
404 | "|DEP| avg(MED14)|\n",
405 | "+---+------------------+\n",
406 | "| 78|27908.276609517692|\n",
407 | "| 91|25505.856457531612|\n",
408 | "| 93|18004.142505975004|\n",
409 | "| 94|23223.062544887238|\n",
410 | "| 92|27815.275831569437|\n",
411 | "| 77|23544.776856209497|\n",
412 | "| 95| 24901.96792722259|\n",
413 | "| 75|29629.178876815004|\n",
414 | "+---+------------------+\n",
415 | "\n"
416 | ]
417 | }
418 | ],
419 | "source": [
420 | "# on utilise un groupBy par département et\n",
421 | "# on affiche le salaire médian moyen\n",
422 | "salaire_med_moy = data_idf.groupBy(\"DEP\").agg({\"MED14\" :\"mean\"})\n",
423 | "salaire_med_moy.show()"
424 | ]
425 | },
426 | {
427 | "cell_type": "code",
428 | "execution_count": 11,
429 | "metadata": {},
430 | "outputs": [
431 | {
432 | "data": {
433 | "text/html": [
434 | "
\n", 452 | " | DEP | \n", 453 | "avg(MED14) | \n", 454 | "
---|---|---|
0 | \n", 459 | "78 | \n", 460 | "27908.276610 | \n", 461 | "
1 | \n", 464 | "91 | \n", 465 | "25505.856458 | \n", 466 | "
2 | \n", 469 | "93 | \n", 470 | "18004.142506 | \n", 471 | "
3 | \n", 474 | "94 | \n", 475 | "23223.062545 | \n", 476 | "
4 | \n", 479 | "92 | \n", 480 | "27815.275832 | \n", 481 | "