9 |
10 | Nomi maschili |
11 | Strade |
12 | Città |
13 | Coordinate |
14 | Ente |
15 | mail |
16 |
17 |
18 | Drew |
19 | 5672 Accumsan Road |
20 | Whitburn |
21 | -54.68429, -67.21709 |
22 | Ac Consulting |
23 | a.aliquet.vel@vitae.co.uk |
24 |
25 |
26 | Finn |
27 | Ap #170-4074 Interdum Rd. |
28 | Pelotas |
29 | 81.93087, 168.14556 |
30 | Varius Incorporated |
31 | nec.malesuada.ut@primisin.com |
32 |
33 |
34 | Martin |
35 | Ap #471-6260 Etiam Ave |
36 | Aliano |
37 | 33.99272, -148.70584 |
38 | Arcu Industries |
39 | lacus@risus.net |
40 |
41 |
42 | Zephania |
43 | Ap #720-7951 Aliquam Ave |
44 | Senneville |
45 | -56.82569, -72.80435 |
46 | Tristique PC |
47 | arcu@sempereratin.co.uk |
48 |
49 |
50 | Devin |
51 | 3538 Dui St. |
52 | Zwettl-Niederösterreich |
53 | -11.90874, -149.61123 |
54 | Imperdiet Dictum PC |
55 | lectus.rutrum.urna@massaQuisqueporttitor.ca |
56 |
57 |
58 | Zeus |
59 | P.O. Box 311, 8130 Parturient St. |
60 | Birmingham |
61 | 27.97063, -82.8825 |
62 | Convallis Dolor Quisque Associates |
63 | magnis.dis@enim.org |
64 |
65 |
66 | Darius |
67 | 6352 Arcu. Road |
68 | Eckville |
69 | 24.72404, -88.57903 |
70 | Mollis Duis Corporation |
71 | nunc.sit.amet@orci.net |
72 |
73 |
74 | Abdul |
75 | Ap #175-4584 Aliquam Road |
76 | Stamford |
77 | 45.71206, -100.45745 |
78 | Commodo At Libero Corporation |
79 | ipsum.Suspendisse.sagittis@risusvariusorci.co.uk |
80 |
81 |
82 | Tanek |
83 | 470-2620 Eget Road |
84 | Billings |
85 | 7.32109, -19.88892 |
86 | Vitae Ltd |
87 | Nunc@pharetranibh.edu |
88 |
89 |
90 | Michael |
91 | P.O. Box 695, 1340 Vitae St. |
92 | Worcester |
93 | -27.5433, 95.33864 |
94 | Pellentesque A Company |
95 | in.tempus.eu@nasceturridiculusmus.ca |
96 |
97 |
98 | Leroy |
99 | 9413 Euismod Ave |
100 | Cap-Rouge |
101 | -62.97398, -138.46845 |
102 | Consequat Consulting |
103 | Curae.Donec.tincidunt@dui.edu |
104 |
105 |
106 | Palmer |
107 | 2634 Neque. St. |
108 | Wiekevorst |
109 | 75.50936, -128.0153 |
110 | Mattis LLC |
111 | aliquet.nec.imperdiet@nislQuisque.com |
112 |
113 |
114 | Amir |
115 | Ap #417-6582 Mauris Avenue |
116 | Denderbelle |
117 | -5.46157, -101.51034 |
118 | Nisl Arcu Associates |
119 | ac.arcu.Nunc@tempusnonlacinia.org |
120 |
121 |
122 | Odysseus |
123 | 909 Lectus St. |
124 | Macduff |
125 | -69.08257, 78.2101 |
126 | Risus Incorporated |
127 | in.hendrerit@rutrum.co.uk |
128 |
129 |
130 | Norman |
131 | Ap #160-3680 Enim Ave |
132 | Mainz |
133 | 30.37536, -11.33456 |
134 | Turpis In Condimentum Company |
135 | eleifend@aliquetmolestietellus.com |
136 |
137 |
138 | Victor |
139 | 7796 Lacus. Street |
140 | Morro Reatino |
141 | 68.25806, -19.4463 |
142 | Quis Institute |
143 | tincidunt.tempus@tinciduntvehicula.org |
144 |
145 |
146 | Ahmed |
147 | P.O. Box 751, 2001 Nulla Rd. |
148 | Ourense |
149 | 63.51301, 68.03157 |
150 | Nam Corp. |
151 | mollis.non.cursus@natoque.edu |
152 |
153 |
154 | Raymond |
155 | 902-6019 Quis Ave |
156 | Quenast |
157 | -73.40019, 33.47767 |
158 | Sapien Limited |
159 | mauris@Maecenasmalesuadafringilla.ca |
160 |
161 |
162 | Dorian |
163 | 8232 Dolor Street |
164 | Homburg |
165 | 87.94352, 59.10144 |
166 | Sit Amet Ante Corp. |
167 | primis@sem.ca |
168 |
169 |
170 | Charles |
171 | 606 Ligula. Road |
172 | Alert Bay |
173 | -9.7252, 96.34346 |
174 | Mus Donec Dignissim PC |
175 | ut@Aliquam.org |
176 |
177 |
178 | Ivor |
179 | 6558 Gravida Street |
180 | Neerharen |
181 | -37.43899, 88.29297 |
182 | Arcu Vestibulum Ltd |
183 | malesuada.fames@atnisi.edu |
184 |
185 |
186 | Maxwell |
187 | 9325 Massa St. |
188 | Rabbi |
189 | 15.90718, 47.99992 |
190 | Lorem Sit Consulting |
191 | ac.risus@felisorci.com |
192 |
193 |
194 | Judah |
195 | P.O. Box 632, 937 Nam Av. |
196 | Dreieich |
197 | 80.002, -118.97661 |
198 | Nec Mollis Vitae Limited |
199 | ac.nulla@semper.com |
200 |
201 |
202 | Ira |
203 | P.O. Box 129, 1090 Eros. Street |
204 | Salles |
205 | -89.26375, 64.90289 |
206 | Tellus Institute |
207 | feugiat@pede.org |
208 |
209 |
210 | Hu |
211 | 977-4679 Vulputate, Av. |
212 | Dereham |
213 | -47.67706, -25.44331 |
214 | Eu Lacus Foundation |
215 | metus.Vivamus.euismod@Loremipsum.net |
216 |
217 |
218 | Josiah |
219 | 3418 Nisl Rd. |
220 | Mayerthorpe |
221 | 75.77996, 40.90747 |
222 | Eros Proin LLC |
223 | dolor@dictumProin.net |
224 |
225 |
226 | James |
227 | 932-7994 Eu, Rd. |
228 | Feldkirchen in Kärnten |
229 | 79.52423, -179.26425 |
230 | Nam Porttitor Corporation |
231 | ipsum@non.ca |
232 |
233 |
234 | Emery |
235 | Ap #793-4876 Elit. Ave |
236 | Atlanta |
237 | -85.10023, -69.87912 |
238 | Maecenas Iaculis Aliquet LLC |
239 | euismod@atiaculisquis.ca |
240 |
241 |
242 | Macaulay |
243 | P.O. Box 628, 7267 Aliquet, Av. |
244 | Hartlepool |
245 | 64.51014, 102.71763 |
246 | Consectetuer Adipiscing Elit Corp. |
247 | nonummy@justo.net |
248 |
249 |
250 | Hunter |
251 | P.O. Box 733, 7118 Vitae Avenue |
252 | Grimbergen |
253 | -81.05205, 151.02904 |
254 | Non Ante Bibendum Corp. |
255 | enim@adipiscingelit.ca |
256 |
257 |
258 | Otto |
259 | Ap #372-9714 Vulputate Road |
260 | Guápiles |
261 | -62.28744, -27.15641 |
262 | Luctus Consulting |
263 | urna.Nullam@interdum.ca |
264 |
265 |
266 | Eaton |
267 | 383-8286 Vivamus St. |
268 | Lusevera |
269 | -80.75233, 62.81803 |
270 | In Dolor Fusce LLP |
271 | amet@mauris.edu |
272 |
273 |
274 | Stewart |
275 | 373-3287 Suspendisse St. |
276 | Frankenthal |
277 | -24.48467, -92.12742 |
278 | Magna Limited |
279 | Integer@malesuadaaugueut.ca |
280 |
281 |
282 | Gavin |
283 | Ap #205-165 Vel, Ave |
284 | Bonnyville |
285 | -82.21383, -87.51734 |
286 | Mollis Integer Consulting |
287 | dictum.Proin.eget@estmollisnon.net |
288 |
289 |
290 | Wallace |
291 | 8750 Aliquet, Ave |
292 | Shrewsbury |
293 | -84.82663, 111.14283 |
294 | Ullamcorper Corp. |
295 | quam.Pellentesque@tincidunt.net |
296 |
297 |
298 | Bruno |
299 | P.O. Box 109, 6155 Donec St. |
300 | Fogliano Redipuglia |
301 | 6.466, 131.52495 |
302 | Sapien Consulting |
303 | adipiscing@enimcondimentumeget.edu |
304 |
305 |
306 | Aristotle |
307 | Ap #785-7702 Curabitur Av. |
308 | Alexandria |
309 | -50.83322, -126.75836 |
310 | Eleifend Egestas Company |
311 | Duis.elementum@eueuismodac.edu |
312 |
313 |
314 | Malcolm |
315 | 2091 Sit Avenue |
316 | Sant'Elena |
317 | -10.15008, 147.76807 |
318 | Diam Lorem Auctor Incorporated |
319 | sollicitudin@purussapien.edu |
320 |
321 |
322 | Ahmed |
323 | P.O. Box 729, 5824 Vulputate, Avenue |
324 | Fresno |
325 | 35.95406, -137.59643 |
326 | Magna Sed Dui Corp. |
327 | enim.Etiam@etmalesuadafames.org |
328 |
329 |
330 | Branden |
331 | 168-1602 Sit Road |
332 | Montecarotto |
333 | 3.51691, -173.96222 |
334 | Netus Et Ltd |
335 | ut.nisi.a@diamloremauctor.edu |
336 |
337 |
338 | Christopher |
339 | P.O. Box 221, 5027 Dictum. Av. |
340 | San Pietro Avellana |
341 | -79.93685, -60.65692 |
342 | Dolor Dapibus Gravida Consulting |
343 | enim.Etiam.gravida@quislectus.ca |
344 |
345 |
346 | Erasmus |
347 | Ap #129-1093 Nam St. |
348 | Lapscheure |
349 | 50.5885, -101.19138 |
350 | Libero Proin Sed Corporation |
351 | malesuada.fringilla@egestas.net |
352 |
353 |
354 | Brock |
355 | 764 Sed, Rd. |
356 | Altmünster |
357 | 2.03395, 90.56518 |
358 | Eleifend Nunc Institute |
359 | velit.Sed@urnaUt.co.uk |
360 |
361 |
362 | Lev |
363 | 859-2384 Ut Rd. |
364 | Independence |
365 | -23.7638, -97.93639 |
366 | Leo Vivamus Corp. |
367 | Cras.pellentesque.Sed@Donecsollicitudin.org |
368 |
369 |
370 | Austin |
371 | P.O. Box 220, 8336 Auctor Avenue |
372 | Lingen |
373 | -21.08924, 57.4924 |
374 | Quam Inc. |
375 | lacus.Mauris.non@dolorelit.com |
376 |
377 |
378 | Kennan |
379 | P.O. Box 298, 2240 Tincidunt Road |
380 | Whangarei |
381 | 87.56903, 44.87917 |
382 | Nullam Corporation |
383 | nisl.Quisque@Vivamus.co.uk |
384 |
385 |
386 | Nathan |
387 | Ap #965-4519 Tincidunt, Street |
388 | Huntly |
389 | -8.09177, -57.27253 |
390 | Fames Ac Corporation |
391 | mattis.ornare.lectus@ullamcorperviverra.org |
392 |
393 |
394 | Trevor |
395 | 103-7287 Ante Rd. |
396 | Worksop |
397 | -15.69221, 140.61859 |
398 | Feugiat Nec Incorporated |
399 | vitae.erat@felisadipiscingfringilla.net |
400 |
401 |
402 | Kaseem |
403 | 9878 Varius. Rd. |
404 | Assiniboia |
405 | -22.71377, -156.83994 |
406 | Ipsum Donec LLP |
407 | sagittis.lobortis@porttitor.co.uk |
408 |
409 |
410 | Tyler |
411 | 9950 Donec Road |
412 | Falerone |
413 | -87.35054, -82.91209 |
414 | Et Netus Et Foundation |
415 | Duis@et.co.uk |
416 |
417 |
418 | Quinlan |
419 | 965-2125 Elit, Rd. |
420 | Cochrane |
421 | -24.07967, -20.55343 |
422 | Quis Institute |
423 | Vivamus.nisi@atlacus.org |
424 |
425 |
426 | Stuart |
427 | 433-7718 Vitae, Avenue |
428 | Inverness |
429 | 19.04821, 86.06715 |
430 | Mollis Phasellus PC |
431 | amet@metussitamet.edu |
432 |
433 |
434 | Ahmed |
435 | Ap #291-2209 Sit Street |
436 | Kitimat |
437 | -21.10603, 128.90385 |
438 | Massa Mauris Vestibulum Corporation |
439 | hendrerit.a@convallisconvallis.co.uk |
440 |
441 |
442 | Alec |
443 | 2283 Purus. St. |
444 | Lugo |
445 | 89.32731, -48.75947 |
446 | At Arcu Limited |
447 | velit.dui@necante.edu |
448 |
449 |
450 | Otto |
451 | Ap #143-4216 A Av. |
452 | Socchieve |
453 | -44.82965, -11.13392 |
454 | Taciti Sociosqu Ad Inc. |
455 | sed@fermentumfermentumarcu.co.uk |
456 |
457 |
458 | Christian |
459 | P.O. Box 985, 8371 Fusce Av. |
460 | Hope |
461 | -23.94499, -164.94965 |
462 | Morbi Limited |
463 | tortor.dictum.eu@montesnasceturridiculus.org |
464 |
465 |
466 | Dylan |
467 | P.O. Box 823, 8721 Nulla Av. |
468 | Le Havre |
469 | 6.93024, 32.90061 |
470 | Sapien Cras Corp. |
471 | et.commodo.at@consectetuercursus.edu |
472 |
473 |
474 | Harrison |
475 | 441-4884 Aenean Rd. |
476 | Burlington |
477 | -81.06878, -173.84985 |
478 | Aenean Associates |
479 | natoque.penatibus.et@cursusdiam.edu |
480 |
481 |
482 | Lucas |
483 | 523-532 Lorem Street |
484 | Hexham |
485 | 5.87827, 126.2566 |
486 | Sed Tortor Foundation |
487 | tristique.aliquet@Etiamvestibulum.org |
488 |
489 |
490 | Jordan |
491 | P.O. Box 198, 3987 Dui, St. |
492 | Eindhoven |
493 | 76.61261, 40.39837 |
494 | Ad Litora Company |
495 | nec.imperdiet@odioauctor.ca |
496 |
497 |
498 | Alan |
499 | 725-4387 Cubilia Avenue |
500 | Trier |
501 | 29.88243, 44.98172 |
502 | Dolor LLP |
503 | dui.lectus.rutrum@ipsum.ca |
504 |
505 |
506 | Damian |
507 | 183-4709 Sed, Road |
508 | Villers-la-Tour |
509 | -42.32656, 62.54334 |
510 | Non Ante Foundation |
511 | mauris.ut.mi@Duisacarcu.co.uk |
512 |
513 |
514 | Tate |
515 | 2461 Duis Rd. |
516 | Pike Creek |
517 | 51.44993, 2.47053 |
518 | Orci Limited |
519 | Vestibulum@velitegestas.co.uk |
520 |
521 |
522 | Dante |
523 | 866-6242 Luctus Road |
524 | Aisemont |
525 | -19.81444, 57.91328 |
526 | Facilisis Eget Incorporated |
527 | pulvinar@egetlaoreetposuere.net |
528 |
529 |
530 | Vaughan |
531 | 5784 Pede. St. |
532 | Melilla |
533 | -8.39545, -10.49761 |
534 | Cursus Institute |
535 | est@Etiam.com |
536 |
537 |
538 | Wang |
539 | 721-3768 Quisque St. |
540 | Molino dei Torti |
541 | 0.80125, 77.84189 |
542 | Feugiat Institute |
543 | eu.enim@orcilacusvestibulum.ca |
544 |
545 |
546 | Guy |
547 | 109-6486 Malesuada Ave |
548 | Brecon |
549 | -76.63174, 25.39433 |
550 | Etiam Institute |
551 | adipiscing.ligula.Aenean@aultricies.org |
552 |
553 |
554 | Marvin |
555 | Ap #775-7562 Arcu. St. |
556 | Merchtem |
557 | 15.38707, 13.48797 |
558 | Aliquam Company |
559 | lectus.Cum.sociis@parturientmontes.org |
560 |
561 |
562 | Ignatius |
563 | P.O. Box 304, 1051 Id St. |
564 | Girona |
565 | 65.69551, -16.82965 |
566 | Per Inceptos Hymenaeos Corp. |
567 | enim.Nunc@mollisnec.co.uk |
568 |
569 |
570 | Steven |
571 | 3904 Metus. St. |
572 | Springdale |
573 | -45.4299, 44.83996 |
574 | A Tortor Nunc Ltd |
575 | nunc.nulla.vulputate@Duisdignissim.org |
576 |
577 |
578 | Todd |
579 | Ap #755-7349 Dui. Rd. |
580 | Sobral |
581 | 78.41465, 94.18776 |
582 | Sed Pharetra Felis Limited |
583 | leo@ut.org |
584 |
585 |
586 | Damian |
587 | 2580 Consequat Street |
588 | Panketal |
589 | -28.92551, 51.02208 |
590 | Enim Corp. |
591 | tortor.dictum.eu@tellusPhaselluselit.edu |
592 |
593 |
594 | Alec |
595 | Ap #725-1303 Augue Rd. |
596 | Ramara |
597 | -77.02162, 131.07978 |
598 | Lectus Quis Company |
599 | gravida@libero.com |
600 |
601 |
602 | Kamal |
603 | Ap #912-6265 Parturient Ave |
604 | Ziano di Fiemme |
605 | -28.75265, -7.01129 |
606 | In Nec Orci Industries |
607 | arcu@acurnaUt.ca |
608 |
609 |
610 | Keaton |
611 | P.O. Box 365, 7063 Tincidunt St. |
612 | Smoky Lake |
613 | 61.46388, -175.89871 |
614 | Nunc Corp. |
615 | ornare@lacus.edu |
616 |
617 |
618 | Reece |
619 | Ap #433-9606 Ridiculus St. |
620 | Maaseik |
621 | -56.52698, 132.6406 |
622 | Nullam Company |
623 | Sed@Suspendisse.org |
624 |
625 |
626 | Kevin |
627 | Ap #115-5267 Libero Street |
628 | Wolvertem |
629 | 66.66246, -32.46632 |
630 | Turpis Inc. |
631 | Donec.sollicitudin@non.net |
632 |
633 |
634 | Zachery |
635 | P.O. Box 997, 2668 Amet Avenue |
636 | Ucluelet |
637 | -19.15975, 118.68758 |
638 | Nibh PC |
639 | Mauris@nequeNullamut.co.uk |
640 |
641 |
642 | Maxwell |
643 | 1501 Justo. Road |
644 | Lanark County |
645 | 44.14049, 7.57982 |
646 | Lectus Quis LLP |
647 | dis.parturient@utdolordapibus.net |
648 |
649 |
650 | Kevin |
651 | P.O. Box 929, 4954 Risus. Road |
652 | Nelson |
653 | 81.08858, -66.26228 |
654 | Mauris Ltd |
655 | ipsum@vitaesemper.net |
656 |
657 |
658 | Fitzgerald |
659 | 6400 Aenean Street |
660 | Kessenich |
661 | 47.85688, 126.79015 |
662 | Nunc Corp. |
663 | In.ornare@nibhAliquamornare.org |
664 |
665 |
666 | Baker |
667 | P.O. Box 330, 2672 In St. |
668 | Castel Volturno |
669 | 61.90888, 128.88712 |
670 | Congue Incorporated |
671 | mollis@interdumlibero.net |
672 |
673 |
674 | Quamar |
675 | 7444 Nunc Street |
676 | Piegaro |
677 | 16.34312, 22.36637 |
678 | Pede Consulting |
679 | ac@faucibusorci.org |
680 |
681 |
682 | Barry |
683 | 1891 Adipiscing Avenue |
684 | Vergnies |
685 | -8.41602, 104.04352 |
686 | Purus LLP |
687 | in@odiotristiquepharetra.edu |
688 |
689 |
690 | Emmanuel |
691 | P.O. Box 445, 5233 Dui. Street |
692 | Hamilton |
693 | -33.25641, -75.3938 |
694 | Metus Foundation |
695 | Aliquam.ultrices.iaculis@velarcuCurabitur.net |
696 |
697 |
698 | Rooney |
699 | 5453 Commodo Ave |
700 | Aylmer |
701 | 79.36747, -111.07236 |
702 | Nisl Elementum Purus PC |
703 | enim.diam.vel@scelerisquescelerisquedui.com |
704 |
705 |
706 | Thaddeus |
707 | 7267 Felis Road |
708 | Cappelle sul Tavo |
709 | 47.32545, -3.65071 |
710 | Ante Ipsum Inc. |
711 | lorem.ac@quistristiqueac.org |
712 |
713 |
714 | Raymond |
715 | Ap #718-3769 Sed Rd. |
716 | Tauranga |
717 | -28.88573, -118.15865 |
718 | In Faucibus Company |
719 | turpis.egestas@risusaultricies.ca |
720 |
721 |
722 | Barclay |
723 | Ap #183-3638 Et Rd. |
724 | Appelterre-Eichem |
725 | 18.0446, -69.26686 |
726 | Augue Limited |
727 | diam.luctus@vehiculaetrutrum.ca |
728 |
729 |
730 | Griffith |
731 | P.O. Box 157, 1837 Nunc Rd. |
732 | Calice al Cornoviglio |
733 | -65.22249, -133.28451 |
734 | Sit Amet LLP |
735 | ac.fermentum@condimentum.co.uk |
736 |
737 |
738 | Vernon |
739 | 553-6292 Nunc Rd. |
740 | Milwaukee |
741 | 81.64991, 67.30965 |
742 | Risus At Fringilla Inc. |
743 | lobortis.quam@nasceturridiculus.co.uk |
744 |
745 |
746 | Nasim |
747 | P.O. Box 365, 6330 Nunc Rd. |
748 | Paupisi |
749 | 19.7798, -52.08825 |
750 | Magnis Dis Corporation |
751 | Cras.pellentesque.Sed@Cras.org |
752 |
753 |
754 | Tad |
755 | 836-3697 Diam Av. |
756 | Airdrie |
757 | 87.74627, -74.20844 |
758 | Venenatis Corporation |
759 | vestibulum@insodales.org |
760 |
761 |
762 | Upton |
763 | 323-9704 Vitae, Ave |
764 | Arendonk |
765 | 57.89839, -86.62495 |
766 | Ullamcorper PC |
767 | feugiat@ullamcorperviverraMaecenas.org |
768 |
769 |
770 | Donovan |
771 | P.O. Box 732, 3757 Libero Rd. |
772 | Uberaba |
773 | 31.91303, -129.19524 |
774 | Scelerisque Dui Consulting |
775 | convallis.dolor.Quisque@arcu.net |
776 |
777 |
778 | Leo |
779 | 316-6835 Consequat Road |
780 | Lang |
781 | -64.65703, 55.18568 |
782 | Maecenas Incorporated |
783 | tellus.Phasellus.elit@lectusCumsociis.co.uk |
784 |
785 |
786 | Solomon |
787 | 496-903 Molestie Road |
788 | Cirencester |
789 | -43.72767, 62.50631 |
790 | Sem Elit Pharetra Associates |
791 | Suspendisse.tristique.neque@eulacusQuisque.co.uk |
792 |
793 |
794 | Carter |
795 | Ap #815-6626 Tellus. Road |
796 | Wanaka |
797 | -44.85397, 174.41126 |
798 | Quam Company |
799 | imperdiet.nec@torquentper.ca |
800 |
801 |
802 | Ferdinand |
803 | Ap #937-3634 Cum Avenue |
804 | Sesto al Reghena |
805 | -43.8973, -9.9513 |
806 | Vel Quam Dignissim Incorporated |
807 | luctus.felis@aliquetmolestietellus.com |
808 |
809 |
810 | Cadman |
811 | Ap #182-1522 Sagittis Road |
812 | Bolzano Vicentino |
813 | 23.99758, 136.69107 |
814 | Nullam Inc. |
815 | mauris@consequat.com |
816 |
817 |
--------------------------------------------------------------------------------
/pandas/example_data/generated2.xls:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/addfor/tutorials/2e1d136536fcaaf190e1da4ea9fbd60070cfaac2/pandas/example_data/generated2.xls
--------------------------------------------------------------------------------
/pandas/example_data/matlab_variable.mat:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/addfor/tutorials/2e1d136536fcaaf190e1da4ea9fbd60070cfaac2/pandas/example_data/matlab_variable.mat
--------------------------------------------------------------------------------
/pandas/example_data/p01_d3.csv.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/addfor/tutorials/2e1d136536fcaaf190e1da4ea9fbd60070cfaac2/pandas/example_data/p01_d3.csv.gz
--------------------------------------------------------------------------------
/pandas/example_data/p01_prices.txt:
--------------------------------------------------------------------------------
1 | Date,AAPL,GOOG,JNJ,XOM
2 | 2018-01-26,171.509995,1175.839966,145.330002,89.0
3 | 2018-01-29,167.96000700000002,1175.579956,143.679993,88.010002
4 | 2018-01-30,166.970001,1163.689941,142.429993,86.779999
5 | 2018-01-31,167.429993,1169.939941,138.190002,87.300003
6 | 2018-02-01,167.779999,1167.699951,140.020004,89.07
7 | 2018-02-02,160.5,1111.900024,137.679993,84.529999
8 |
--------------------------------------------------------------------------------
/pandas/example_data/p01_volumes.txt:
--------------------------------------------------------------------------------
1 | Date,AAPL,JNJ,XOM
2 | 2018-01-26,39143000,8065600,10514400
3 | 2018-01-29,50640400,8013400,9315700
4 | 2018-01-30,46048200,8376100,12408000
5 | 2018-01-31,32478900,13137400,14404700
6 |
--------------------------------------------------------------------------------
/pandas/example_data/p05_d2.txt:
--------------------------------------------------------------------------------
1 | ,City,Name,Revenues,State
2 | 0,New York,Roy,1250, NY
3 | 1, frisco,Johnn,840,CA
4 | 2,houston,Jim,349, tx
5 | 3, taft,Paul,1100, OK
6 | 4,venice,Ross,900, IL
7 |
--------------------------------------------------------------------------------
/pandas/example_data/pd06_pivot_Example.txt:
--------------------------------------------------------------------------------
1 | ,date,variable,value
2 | 0,2000-01-03 00:00:00,A,0.3970180055787111
3 | 1,2000-01-04 00:00:00,A,0.6211088243433798
4 | 2,2000-01-05 00:00:00,A,-2.5082841002429745
5 | 3,2000-01-03 00:00:00,B,0.21979588677202364
6 | 4,2000-01-04 00:00:00,B,1.3710270580007788
7 | 5,2000-01-05 00:00:00,B,-1.0055042898048039
8 | 6,2000-01-03 00:00:00,C,-0.39114867992720065
9 | 7,2000-01-04 00:00:00,C,1.209345749759747
10 | 8,2000-01-05 00:00:00,C,-0.05961654675455294
11 | 9,2000-01-03 00:00:00,D,-0.4645580899791357
12 | 10,2000-01-04 00:00:00,D,-0.1736052396445405
13 | 11,2000-01-05 00:00:00,D,-1.6496321207508482
14 |
--------------------------------------------------------------------------------
/pandas/example_data/pd12_peopl.csv.gz:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/addfor/tutorials/2e1d136536fcaaf190e1da4ea9fbd60070cfaac2/pandas/example_data/pd12_peopl.csv.gz
--------------------------------------------------------------------------------
/pandas/index.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "* [__pandas Dataframe - Basic Operativity__](pd01v01_basic_data_operativity.ipynb)\n",
8 | " * [1 File I/O and DataFrame Generation](pd01v01_basic_data_operativity.ipynb#1-File-I/O-and-DataFrame-Generation)\n",
9 | " * [1.1 Create DataFrames with read_csv](pd01v01_basic_data_operativity.ipynb#1.1-Create-DataFrames-with-read_csv)\n",
10 | " * [1.2 Create DataFrames from Python Dictionaries](pd01v01_basic_data_operativity.ipynb#1.2-Create-DataFrames-from-Python-Dictionaries)\n",
11 | " * [1.3 Create DataFrames from Items](pd01v01_basic_data_operativity.ipynb#1.3-Create-DataFrames-from-Items)\n",
12 | " * [1.4 Create DataFrames fron Numpy Arrays](pd01v01_basic_data_operativity.ipynb#1.4-Create-DataFrames-fron-Numpy-Arrays)\n",
13 | " * [1.5 DataFrames can be converted in Numpy Arrays](pd01v01_basic_data_operativity.ipynb#1.5-DataFrames-can-be-converted-in-Numpy-Arrays)\n",
14 | " * [1.6 DataFrames, Series and Panels](pd01v01_basic_data_operativity.ipynb#1.6-DataFrames,-Series-and-Panels)\n",
15 | " * [2 Automatic Data Alignment](pd01v01_basic_data_operativity.ipynb#2-Automatic-Data-Alignment)\n",
16 | " * [3 Indexing](pd01v01_basic_data_operativity.ipynb#3-Indexing)\n",
17 | " * [3.1 Label-Based Indexing](pd01v01_basic_data_operativity.ipynb#3.1-Label-Based-Indexing)\n",
18 | " * [3.2 Position-Based Indexing](pd01v01_basic_data_operativity.ipynb#3.2-Position-Based-Indexing)\n",
19 | " * [3.3 Advanced Indexing - .ix](pd01v01_basic_data_operativity.ipynb#3.3-Advanced-Indexing---.ix)\n",
20 | " * [4 DataFrame Basic Operations](pd01v01_basic_data_operativity.ipynb#4-DataFrame-Basic-Operations)\n",
21 | " * [4.1 Reindex/Reorder rows and columns](pd01v01_basic_data_operativity.ipynb#4.1-Reindex/Reorder-rows-and-columns)\n",
22 | " * [4.2 Calculate new columns](pd01v01_basic_data_operativity.ipynb#4.2-Calculate-new-columns)\n",
23 | " * [4.3 Deleting rows and columns](pd01v01_basic_data_operativity.ipynb#4.3-Deleting-rows-and-columns)\n",
24 | " * [4.4 Inserting colums in a specific position](pd01v01_basic_data_operativity.ipynb#4.4-Inserting-colums-in-a-specific-position)\n",
25 | " * [4.5 Check if a value or a list of given values are contained in a specific column](pd01v01_basic_data_operativity.ipynb#4.5-Check-if-a-value-or-a-list-of-given-values-are-contained-in-a-specific-column)\n",
26 | " * [4.6 Rename columns](pd01v01_basic_data_operativity.ipynb#4.6-Rename-columns)\n",
27 | " * [4.7 Iterate efficiently through rows](pd01v01_basic_data_operativity.ipynb#4.7-Iterate-efficiently-through-rows)\n",
28 | " * [5 Duplicated Data](pd01v01_basic_data_operativity.ipynb#5-Duplicated-Data)\n",
29 | " * [5.1 Find duplicated data in columns](pd01v01_basic_data_operativity.ipynb#5.1-Find-duplicated-data-in-columns)\n",
30 | " * [5.2 Remove Duplicates](pd01v01_basic_data_operativity.ipynb#5.2-Remove-Duplicates)\n",
31 | " * [6 Working with Large Arrays](pd01v01_basic_data_operativity.ipynb#6-Working-with-Large-Arrays)\n",
32 | " * [6.1 Control the DataFrame memory occupation](pd01v01_basic_data_operativity.ipynb#6.1-Control-the-DataFrame-memory-occupation)\n",
33 | " * [6.2 Explore large arrays](pd01v01_basic_data_operativity.ipynb#6.2-Explore-large-arrays)\n",
34 | " * [7 Column pct_change and shift](pd01v01_basic_data_operativity.ipynb#7-Column-pct_change-and-shift)\n",
35 | " * [8 Reindex](pd01v01_basic_data_operativity.ipynb#8-Reindex)\n",
36 | " * [9 More on Indexing: Multi Index](pd01v01_basic_data_operativity.ipynb#9-More-on-Indexing:-Multi-Index)\n",
37 | " * [10 Package Options](pd01v01_basic_data_operativity.ipynb#10-Package-Options)\n",
38 | "* [__pandas I/O tools and examples__](pd02v01_input_output.ipynb)\n",
39 | " * [1 Matlab Variables](pd02v01_input_output.ipynb#1-Matlab-Variables)\n",
40 | " * [1.1 Import a Matlab variable from file](pd02v01_input_output.ipynb#1.1-Import-a-Matlab-variable-from-file)\n",
41 | " * [2 Importing a compressed CSV](pd02v01_input_output.ipynb#2-Importing-a-compressed-CSV)\n",
42 | " * [3 Importing and visualizing geographical data](pd02v01_input_output.ipynb#3-Importing-and-visualizing-geographical-data)\n",
43 | " * [4 Importing JSON files](pd02v01_input_output.ipynb#4-Importing-JSON-files)\n",
44 | " * [5 Importing HTML](pd02v01_input_output.ipynb#5-Importing-HTML)\n",
45 | " * [6 Importing Excel](pd02v01_input_output.ipynb#6-Importing-Excel)\n",
46 | " * [7 Working with SQL and databases](pd02v01_input_output.ipynb#7-Working-with-SQL-and-databases)\n",
47 | " * [7.1 Write SQL](pd02v01_input_output.ipynb#7.1-Write-SQL)\n",
48 | " * [7.2 Import SQL](pd02v01_input_output.ipynb#7.2-Import-SQL)\n",
49 | " * [8 Working with HDF5](pd02v01_input_output.ipynb#8-Working-with-HDF5)\n",
50 | " * [8.1 Storer format](pd02v01_input_output.ipynb#8.1-Storer-format)\n",
51 | " * [8.2 Table format](pd02v01_input_output.ipynb#8.2-Table-format)\n",
52 | " * [8.3 Querying a Table](pd02v01_input_output.ipynb#8.3-Querying-a-Table)\n",
53 | "* [__Pandas Time series__](pd03v01_time_series.ipynb)\n",
54 | " * [1 Timestamps and DatetimeIndex](pd03v01_time_series.ipynb#1-Timestamps-and-DatetimeIndex)\n",
55 | " * [2 DateOffsets objects](pd03v01_time_series.ipynb#2-DateOffsets-objects)\n",
56 | " * [3 Indexing with a DateTime index](pd03v01_time_series.ipynb#3-Indexing-with-a-DateTime-index)\n",
57 | " * [4 Frequency conversion](pd03v01_time_series.ipynb#4-Frequency-conversion)\n",
58 | " * [5 Filling gaps](pd03v01_time_series.ipynb#5-Filling-gaps)\n",
59 | "* [__Statistical tools__](pd04v01_statistical_tools.ipynb)\n",
60 | " * [1 Percent change](pd04v01_statistical_tools.ipynb#1-Percent-change)\n",
61 | " * [2 Covariance](pd04v01_statistical_tools.ipynb#2-Covariance)\n",
62 | " * [3 Correlation](pd04v01_statistical_tools.ipynb#3-Correlation)\n",
63 | " * [4 Rolling moments and Binary rolling moments](pd04v01_statistical_tools.ipynb#4-Rolling-moments-and-Binary-rolling-moments)\n",
64 | " * [5 A pratical example: Return indexes and cumulative returns](pd04v01_statistical_tools.ipynb#5-A-pratical-example:-Return-indexes-and-cumulative-returns)\n",
65 | "* [__Merge and pivot__](pd05v01_data_organization.ipynb)\n",
66 | " * [1 Concat](pd05v01_data_organization.ipynb#1-Concat)\n",
67 | " * [2 Append](pd05v01_data_organization.ipynb#2-Append)\n",
68 | " * [3 Join](pd05v01_data_organization.ipynb#3-Join)\n",
69 | " * [4 Merge](pd05v01_data_organization.ipynb#4-Merge)\n",
70 | " * [5 Pivoting](pd05v01_data_organization.ipynb#5-Pivoting)\n",
71 | " * [6 Stack and Unstack](pd05v01_data_organization.ipynb#6-Stack-and-Unstack)\n",
72 | "* [__Split apply and combine__](pd06v01_advanced_data_management.ipynb)\n",
73 | " * [1 Groupby](pd06v01_advanced_data_management.ipynb#1-Groupby)\n",
74 | " * [2 Aggregate](pd06v01_advanced_data_management.ipynb#2-Aggregate)\n",
75 | " * [3 Apply](pd06v01_advanced_data_management.ipynb#3-Apply)\n",
76 | " * [4 A pratical example: Normalize by year](pd06v01_advanced_data_management.ipynb#4-A-pratical-example:-Normalize-by-year)\n",
77 | " * [5 A practical example: Group and standardize by dimension](pd06v01_advanced_data_management.ipynb#5-A-practical-example:-Group-and-standardize-by-dimension)\n",
78 | "* [__Sources of Open Data__](pd07v01_open_data.ipynb)\n",
79 | " * [1 Yahoo! Finance](pd07v01_open_data.ipynb#1-Yahoo!-Finance)\n",
80 | " * [1.1 Plotting timeseries with bokeh:](pd07v01_open_data.ipynb#1.1-Plotting-timeseries-with-bokeh:)\n",
81 | " * [1.2 Plotting candlesticks with bokeh:](pd07v01_open_data.ipynb#1.2-Plotting-candlesticks-with-bokeh:)\n",
82 | " * [1.3 Plotting data ranges with bokeh:](pd07v01_open_data.ipynb#1.3-Plotting-data-ranges-with-bokeh:)\n",
83 | " * [1.4 Plotting multiple plots with matplotlib:](pd07v01_open_data.ipynb#1.4-Plotting-multiple-plots-with-matplotlib:)\n",
84 | " * [2 Google Finance](pd07v01_open_data.ipynb#2-Google-Finance)\n",
85 | " * [3 Federal Reserve Economic Data](pd07v01_open_data.ipynb#3-Federal-Reserve-Economic-Data)\n",
86 | " * [4 World Bank](pd07v01_open_data.ipynb#4-World-Bank)\n",
87 | "* [__Baby Names__](pd08v01_babynames.ipynb)\n",
88 | " * [1 Load and prepare the data](pd08v01_babynames.ipynb#1-Load-and-prepare-the-data)\n",
89 | " * [2 Pivoting](pd08v01_babynames.ipynb#2-Pivoting)\n",
90 | " * [3 Splitting](pd08v01_babynames.ipynb#3-Splitting)\n",
91 | " * [4 Using 'groupby'](pd08v01_babynames.ipynb#4-Using-'groupby')\n"
92 | ]
93 | }
94 | ],
95 | "metadata": {},
96 | "nbformat": 4,
97 | "nbformat_minor": 0
98 | }
--------------------------------------------------------------------------------
/pandas/temp/temporary.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/addfor/tutorials/2e1d136536fcaaf190e1da4ea9fbd60070cfaac2/pandas/temp/temporary.txt
--------------------------------------------------------------------------------
/pandas/utilities/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/addfor/tutorials/2e1d136536fcaaf190e1da4ea9fbd60070cfaac2/pandas/utilities/Thumbs.db
--------------------------------------------------------------------------------
/pandas/utilities/__init__.py:
--------------------------------------------------------------------------------
1 | from .tom import TomTom # (TomTom, FileGenerator)
2 | from .my_finance_tools import (side_by_side, csv_preview)
3 | from .my_finance_plots import montecarloPlot
4 |
--------------------------------------------------------------------------------
/pandas/utilities/generators.py:
--------------------------------------------------------------------------------
1 | import pandas as pd
2 | from pandas_datareader.data import DataReader
3 | from pandas_datareader._utils import RemoteDataError
4 | import numpy as np
5 | from .tom import TomTom
6 | import os
7 | import shutil
8 |
9 |
10 | def p01_d2csv(tomtom):
11 | d = {'a' : pd.Series(['one','one','two','three','two']),
12 | 'b' : pd.Series(['x','y','y','x','y']),
13 | 'c' : pd.Series(np.random.randn(5))}
14 | d2 = pd.DataFrame(d)
15 | d2.to_csv(tomtom.get_tmp_name('p01_d2.csv'))
16 |
17 | def p01_d3csv(tomtom):
18 | comuni = pd.read_csv(tomtom.get_example_name('tabella_comuni_italiani.txt'),
19 | sep=';', header=0)
20 | # d3 = pd.DataFrame(np.random.randn(1000, 100), columns=comuni['Comune'].ix[0:199])
21 | comuni.to_csv(tomtom.get_tmp_name('p01_d3.csv'), index=False)
22 |
23 | def p01_d4csv(tomtom):
24 | idx = [('Fra', 'one', 'x'),
25 | ('Fra', 'two', 'y'),
26 | ('Fra', 'two', 'z'),
27 | ('Ger', 'one', 'x'),
28 | ('Jap', 'one', 'x'),
29 | ('Jap', 'two', 'x'),
30 | ('USA', 'one', 'y'),
31 | ('USA', 'one', 'z')]
32 | index = pd.MultiIndex.from_tuples(idx, names=['Country', 'Number', 'Dir'])
33 | d4 = pd.DataFrame(np.random.randn(8,3), index=index)
34 | d4.to_csv(tomtom.get_tmp_name('p01_d4.csv'))
35 |
36 | def p01_prices(tomtom):
37 | try:
38 | symbols = ['AAPL', 'JNJ', 'XOM', 'GOOG']
39 | data = dict([(sym, DataReader(sym, 'yahoo')['Close']) for sym in symbols])
40 | df = pd.DataFrame.from_dict(data)
41 | df.ix[-7:-1].to_csv(tomtom.get_tmp_name('p01_prices.txt'))
42 | except RemoteDataError:
43 | print('Error while reading data, revert to stored file in example_data')
44 | shutil.copy('example_data/p01_prices.txt', 'temp')
45 |
46 | def p01_volumes(tomtom):
47 | try:
48 | symbols = ['AAPL', 'JNJ', 'XOM']
49 | data = dict([(sym, DataReader(sym, 'yahoo')['Volume']) for sym in symbols])
50 | df = pd.DataFrame.from_dict(data)
51 | df.ix[-7:-3].to_csv(tomtom.get_tmp_name('p01_volumes.txt'))
52 | except RemoteDataError:
53 | print('Error while reading data, revert to stored file in example_data')
54 | shutil.copy('example_data/p01_volumes.txt', 'temp')
55 |
56 | def p03_DAX(tomtom):
57 | try:
58 | DAX = DataReader('^GDAXI','yahoo',start = '01/01/2000')
59 | DAX.to_csv(tomtom.get_tmp_name('p03_DAX.csv'))
60 | except RemoteDataError:
61 | print('Error while reading data, revert to stored file in example_data')
62 | shutil.copy('example_data/p03_DAX.csv', 'temp')
63 |
64 | def p03_AAPL(tomtom):
65 | try:
66 | DAX = DataReader('AAPL','yahoo',start = '01/01/2000')
67 | DAX.to_csv(tomtom.get_tmp_name('p03_AAPL.csv'))
68 | except RemoteDataError:
69 | print('Error while reading data, revert to stored file in example_data')
70 | shutil.copy('example_data/p03_AAPL.csv', 'temp')
71 |
72 | def p06_d3csv(tomtom):
73 | d2 = pd.DataFrame({'City' : ['New York', ' frisco', 'houston', ' taft', 'venice'],
74 | 'State' : [' NY ', 'CA', ' tx ', ' OK', ' IL'],
75 | 'Name' : ['Roy', 'Johnn', 'Jim', 'Paul', 'Ross'],
76 | 'Revenues' : ['1250', '840', '349', '1100', '900']})
77 | d2.to_csv(tomtom.get_tmp_name('p06_d2.txt'))
78 |
79 | def p06_d2csv(tomtom):
80 | d3 = pd.DataFrame({'Quantity' : ['1-one', '1-one', '2-two', '3-three'] * 6,
81 | 'Axis' : ['X', 'Y', 'Z'] * 8,
82 | 'Type' : ['foo', 'foo', 'foo', 'bar', 'bar', 'bar'] * 4,
83 | 'N1' : np.random.randn(24),
84 | 'N2' : np.random.randn(24)})
85 | d3.to_csv(tomtom.get_tmp_name('p06_d3.txt'))
86 |
87 |
88 | def p07_d1csv(tomtom):
89 | d1 = pd.DataFrame({'State' : ['NE','KY','CO','CO','KY','KY','CO','NE','CO'],
90 | 'City' : ['Page','Stone','Rye','Rye','Dema','Keavy','Rye',
91 | 'Cairo', 'Dumont'],
92 | 'Views' : [10, 9, 3, 7, 4, 2, 1, 8, 12],
93 | 'Likes' : [4, 3, 0, 2, 1, 1, 0, 3, 7]})
94 | d1.to_csv(tomtom.get_tmp_name('p07_d1.txt'))
95 |
96 | def p07_d2csv(tomtom):
97 | import random; random.seed(0)
98 | import string
99 | N = 1000
100 | def rands(n):
101 | choices = string.ascii_uppercase
102 | return ''.join([random.choice(choices) for _ in range(n)])
103 |
104 | tickers = np.array([rands(5) for _ in range(N)])
105 |
106 | # Create a DataFrame containing 3 columns representing
107 | # hypothetical, but random portfolios for a subset of tickers:
108 | d2 = pd.DataFrame({'Momentum' : np.random.randn(500) / 200 + 0.03,
109 | 'Value' : np.random.randn(500) / 200 + 0.08,
110 | 'ShortInterest' : np.random.randn(500) / 200 - 0.02},
111 | index=tickers.take(np.random.permutation(N)[:500]))
112 |
113 | # Next, let's create a random industry classification for the tickers.
114 | ind_names = np.array(['FINANCIAL', 'TECH'])
115 | sampler = np.random.randint(0, len(ind_names), N)
116 | industries = pd.Series(ind_names.take(sampler), index=tickers, name='industry')
117 | d2['Industry'] = industries
118 |
119 | d2.to_csv(tomtom.get_tmp_name('p07_d2.csv'))
120 |
121 | def p07_portfolioh5(tomtom):
122 | import random; random.seed(0)
123 | import string
124 | N = 1000
125 | def rands(n):
126 | choices = string.ascii_uppercase
127 | return ''.join([random.choice(choices) for _ in range(n)])
128 |
129 | tickers = np.array([rands(5) for _ in range(N)])
130 | fac1, fac2, fac3 = np.random.rand(3, 1000)
131 | ticker_subset = tickers.take(np.random.permutation(N)[:1000])
132 |
133 | # portfolio = weighted sum of factors plus noise
134 | portfolio = pd.Series(0.7 * fac1 - 1.2 * fac2 + 0.3 * fac3 + np.random.rand(1000),
135 | index=ticker_subset)
136 | factors = pd.DataFrame({'f1': fac1, 'f2': fac2, 'f3': fac3},
137 | index=ticker_subset)
138 |
139 | h5file = pd.HDFStore(tomtom.get_tmp_name('p07_portfolio.h5'))
140 | h5file['factors'] = factors
141 | h5file['portfolio'] = portfolio
142 | h5file.close()
143 |
144 | def baby_names(tomtom):
145 | import zipfile
146 | path = tomtom.get_example_name('babynames.zip')
147 | opath = tomtom.get_tmp_name("")
148 | z = zipfile.ZipFile(path, "r")
149 | z.extractall(path=opath)
150 |
151 | generators = {
152 | 'baby_names/': baby_names,
153 | 'p07_portfolio.h5': p07_portfolioh5,
154 | 'p07_d2.csv': p07_d2csv,
155 | 'p07_d1.txt': p07_d1csv,
156 | 'p06_d3.txt': p06_d3csv,
157 | 'p06_d2.txt': p06_d2csv,
158 | 'p03_DAX.csv': p03_DAX,
159 | 'p03_AAPL.csv': p03_AAPL,
160 | 'p01_prices.txt': p01_prices,
161 | 'p01_d2.csv': p01_d2csv,
162 | 'p01_d3.csv': p01_d3csv,
163 | 'p01_d4.csv': p01_d4csv,
164 | 'p01_volumes.txt': p01_volumes,
165 | }
166 |
167 | def generate_all():
168 | tomtom = TomTom()
169 | for filename, gen in generators.items():
170 | path = tomtom.get_tmp_name(filename)
171 | if not os.path.exists(path):
172 | print("Generating {}...".format(filename))
173 | gen(tomtom)
174 | else:
175 | print("Skipped {} (already existing)".format(filename))
176 |
177 | if __name__ == '__main__':
178 | generate_all()
179 |
--------------------------------------------------------------------------------
/pandas/utilities/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/addfor/tutorials/2e1d136536fcaaf190e1da4ea9fbd60070cfaac2/pandas/utilities/logo.png
--------------------------------------------------------------------------------
/pandas/utilities/my_finance_plots.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 | from pylab import *
3 | from pandas import *
4 | #from pandas.io.data import *
5 |
6 | def montecarloPlot(S):
7 | cols, rows = S.shape
8 | a = arange(0,cols)
9 | x = append(a,a[::-1])
10 |
11 | figure(figsize=(10, 8), dpi=80)
12 | gs = plt.GridSpec(4, 4)
13 | ax1 = plt.subplot(gs[:, 0:3])
14 |
15 | cmap = cm.jet
16 | for i in [0, 1, 5]:
17 | lower_bound = np.percentile(S, i, axis=1)
18 | upper_bound = np.percentile(S, 100-i, axis=1)
19 | y= append(lower_bound,upper_bound[::-1])
20 | fill(x,y,'r',facecolor=cmap(i*255/50), alpha=0.3+i/100.)
21 |
22 | ax2 = plt.subplot(gs[:, 3])
23 |
24 | hist( S.ravel(), bins= 101, orientation='horizontal' )
25 | ax2.xaxis.set_major_locator(MaxNLocator(4))
26 | xlabels = ax2.get_xticklabels()
27 | for label in xlabels:
28 | label.set_rotation(45)
29 |
30 | setp(ax2.get_xticklabels(), visible=False)
31 | setp(ax2.get_yticklabels(), visible=False); grid(True); show()
32 |
--------------------------------------------------------------------------------
/pandas/utilities/my_finance_tools.py:
--------------------------------------------------------------------------------
1 | from datetime import datetime
2 | import matplotlib.finance as fin
3 | import pandas as pd
4 | from pandas import Index, DataFrame
5 | # from pandas.core.datetools import BMonthEnd
6 |
7 | # MY FINANCE TOOLS -------------------------------------------------------------
8 | ''' Created by: Addfor S.p.A.
9 | This module provides few example finance and utility functions
10 | '''
11 |
12 | def csv_preview(filename, lines_to_print=5):
13 | '''
14 | TODO - Add a control to define how many columns to print:
15 | start_column = 0
16 | end_column = 79
17 | '''
18 | with open(filename) as fid:
19 | for _ in range(lines_to_print):
20 | line = fid.readline()
21 | print(line,)
22 |
23 | def side_by_side(*objs, **kwds):
24 | space = kwds.get('space', 4)
25 | reprs = [repr(obj).split('\n') for obj in objs]
26 | print('-'*40)
27 | print(pd.core.common.adjoin(space, *reprs))
28 | print('-'*40)
29 |
30 | def getQuotes(symbol, start, end):
31 | '''getQuotes documentation'''
32 | quotes = fin.quotes_historical_yahoo(symbol, start, end)
33 | dates, opn, close, high, low, volume = zip(*quotes)
34 | data = {'open': opn, 'close': close, 'high' : high,
35 | 'low' : low, 'volume': volume}
36 |
37 | dates = Index([datetime.fromordinal(int(d)) for d in dates])
38 | return DataFrame(data, index=dates)
39 |
40 |
41 | # def toMonthly(frame, how):
42 | # '''toMonthly documentation'''
43 | # offset = BMonthEnd()
44 | # return frame.groupby(offset.rollforward).aggregate(how)
45 |
--------------------------------------------------------------------------------
/pandas/utilities/tom.py:
--------------------------------------------------------------------------------
1 | import os
2 |
3 | TEMP_DIR="temp"
4 | EXAMPLE_DIR="example_data"
5 |
6 | #from generators import generators
7 |
8 | class TomTom(object):
9 | """
10 | This is an utility class that provides objects capable of telling where to save temporary files.
11 | It implements Borg design pattern.
12 | """
13 | __shared__state = {}
14 | def __init__(self):
15 | self.__dict__ = self.__shared__state
16 | self.cwd = os.getcwd()
17 | self.sep = os.path.sep
18 |
19 | def get_tmp_name(self, name):
20 | """
21 | Return an absolute path for a temporary (output) file named name.
22 | """
23 | return self.cwd + self.sep + TEMP_DIR + self.sep + name
24 |
25 | def get_tmp_dir(self):
26 | return self.cwd + self.sep + TEMP_DIR
27 |
28 | def get_example_name(self, name):
29 | """
30 | Return an absolute path for an example (input) file named name.
31 | """
32 | return self.cwd + self.sep + EXAMPLE_DIR + self.sep + name
33 |
34 |
35 |
36 | # class FileGenerator(object):
37 | # __shared__state = {}
38 | # def __init__(self):
39 | # self.__dict__ = self.__shared__state
40 | # self._tom = TomTom()
41 |
42 | # def get_example(self, file):
43 | # path = self._tom.get_tmp_name(file)
44 | # if not os.path.exists(path):
45 | # generators[file](self._tom)
46 |
47 | # return path
48 |
--------------------------------------------------------------------------------
/python-ipython/example_data/my_input.txt:
--------------------------------------------------------------------------------
1 | First Second
2 | 10 0.32432
3 | 20 1.324
4 | 21 7.237923
5 | 36 .83298932
6 | 56 237.327823
7 |
--------------------------------------------------------------------------------
/python-ipython/example_data/small_is_beautiful.txt:
--------------------------------------------------------------------------------
1 | No system or machinery or economic doctrine or theory stands on its own feet: it is invariably built on a metaphysical foundation, that is to say, upon man's basic outlook on life, its meaning and its purpose. I have talked about the religion of economics, the idol worship of material possessions, of consumption and the so-called standard of living, and the fateful propensity that rejoices in the fact that 'what were luxuries to our fathers have become necessities for us.'
2 | Systems are never more no less than incarnations of man's most basic attitudes. . . . General evidence of material progress would suggest that the modern private enterprise system is--or has been--the most perfect instrument for the pursuit of personal enrichment. The modern private enterprise system ingeniously employs the human urges of greed and envy as its motive power, but manages to overcome the most blatant deficiencies of laissez-faire by means of Keynesian economic management, a bit of redistributive taxation, and the 'countervailing power' of the trade unions.
3 | Can such a system conceivably deal with the problems we are now having to face? The answer is self-evident: greed and envy demand continuous and limitless economic growth of a material kind, without proper regard for conservation, and this type of growth cannot possibly fit into a finite environment. We must therefore study the essential nature of the private enterprise system and the possibilities of evolving an alternative system which might fit the new situation.
4 |
--------------------------------------------------------------------------------
/python-ipython/images/integration.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/addfor/tutorials/2e1d136536fcaaf190e1da4ea9fbd60070cfaac2/python-ipython/images/integration.png
--------------------------------------------------------------------------------
/python-ipython/index.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "* [__An introduction to the IPython notebook__](py01v01_ipython_notebook_introduction.ipynb)\n",
8 | " * [1 Before starting...](py01v01_ipython_notebook_introduction.ipynb#1-Before-starting...)\n",
9 | " * [2 User interface](py01v01_ipython_notebook_introduction.ipynb#2-User-interface)\n",
10 | " * [2.1 Main editing area](py01v01_ipython_notebook_introduction.ipynb#2.1-Main-editing-area)\n",
11 | " * [2.2 Menu](py01v01_ipython_notebook_introduction.ipynb#2.2-Menu)\n",
12 | " * [2.3 Header bar](py01v01_ipython_notebook_introduction.ipynb#2.3-Header-bar)\n",
13 | " * [2.4 The pager at the bottom](py01v01_ipython_notebook_introduction.ipynb#2.4-The-pager-at-the-bottom)\n",
14 | " * [3 Tab completion and tooltips](py01v01_ipython_notebook_introduction.ipynb#3-Tab-completion-and-tooltips)\n",
15 | " * [4 Plotting support](py01v01_ipython_notebook_introduction.ipynb#4-Plotting-support)\n",
16 | " * [5 Interactive Widgets](py01v01_ipython_notebook_introduction.ipynb#5-Interactive-Widgets)\n",
17 | " * [5.1 Plot controlled by Widgets](py01v01_ipython_notebook_introduction.ipynb#5.1-Plot-controlled-by-Widgets)\n",
18 | " * [5.2 Factorization Example using Interactive Widgets and SimPy](py01v01_ipython_notebook_introduction.ipynb#5.2-Factorization-Example-using-Interactive-Widgets-and-SimPy)\n",
19 | " * [6 Markdown cells can contain formatted text and code](py01v01_ipython_notebook_introduction.ipynb#6-Markdown-cells-can-contain-formatted-text-and-code)\n",
20 | " * [7 Rich display: include anything a browser can show](py01v01_ipython_notebook_introduction.ipynb#7-Rich-display:-include-anything-a-browser-can-show)\n",
21 | " * [7.1 Videos](py01v01_ipython_notebook_introduction.ipynb#7.1-Videos)\n",
22 | " * [7.2 Cloud Data Analysis and Graphing Tools](py01v01_ipython_notebook_introduction.ipynb#7.2-Cloud-Data-Analysis-and-Graphing-Tools)\n",
23 | " * [7.3 External Websites](py01v01_ipython_notebook_introduction.ipynb#7.3-External-Websites)\n",
24 | " * [8 Loading external codes](py01v01_ipython_notebook_introduction.ipynb#8-Loading-external-codes)\n",
25 | "* [__Python Basic Concepts__](py02v01_python_basics.ipynb)\n",
26 | " * [1 Why Python?](py02v01_python_basics.ipynb#1-Why-Python?)\n",
27 | " * [2 Python101](py02v01_python_basics.ipynb#2-Python101)\n",
28 | " * [2.1 Two important language features:](py02v01_python_basics.ipynb#2.1-Two-important-language-features:)\n",
29 | " * [2.2 The bricks of Python are:](py02v01_python_basics.ipynb#2.2-The-bricks-of-Python-are:)\n",
30 | " * [2.3 Variables, as everything else, in Python are objects](py02v01_python_basics.ipynb#2.3-Variables,-as-everything-else,-in-Python-are-objects)\n",
31 | " * [2.4 Mutable / Immutable Objects](py02v01_python_basics.ipynb#2.4-Mutable-/-Immutable-Objects)\n",
32 | " * [2.5 Scripts, modules and namespaces](py02v01_python_basics.ipynb#2.5-Scripts,-modules-and-namespaces)\n",
33 | " * [3 Strings](py02v01_python_basics.ipynb#3-Strings)\n",
34 | " * [4 String formatting](py02v01_python_basics.ipynb#4-String-formatting)\n",
35 | " * [5 Lists](py02v01_python_basics.ipynb#5-Lists)\n",
36 | " * [6 Slicing](py02v01_python_basics.ipynb#6-Slicing)\n",
37 | " * [7 Sets](py02v01_python_basics.ipynb#7-Sets)\n",
38 | " * [8 Tuples](py02v01_python_basics.ipynb#8-Tuples)\n",
39 | " * [9 Dictionaries](py02v01_python_basics.ipynb#9-Dictionaries)\n",
40 | " * [10 Counters](py02v01_python_basics.ipynb#10-Counters)\n",
41 | " * [11 IF - FOR - WHILE](py02v01_python_basics.ipynb#11-IF---FOR---WHILE)\n",
42 | " * [11.1 IF](py02v01_python_basics.ipynb#11.1-IF)\n",
43 | " * [11.2 FOR - ELSE](py02v01_python_basics.ipynb#11.2-FOR---ELSE)\n",
44 | " * [11.3 WHILE](py02v01_python_basics.ipynb#11.3-WHILE)\n",
45 | "* [__Python Getting Started__](py03v01_python_getting_started.ipynb)\n",
46 | " * [1 Comment your code !](py03v01_python_getting_started.ipynb#1-Comment-your-code-!)\n",
47 | " * [2 Functions](py03v01_python_getting_started.ipynb#2-Functions)\n",
48 | " * [2.1 Local Functions](py03v01_python_getting_started.ipynb#2.1-Local-Functions)\n",
49 | " * [2.2 External Functions](py03v01_python_getting_started.ipynb#2.2-External-Functions)\n",
50 | " * [2.3 Private Methods](py03v01_python_getting_started.ipynb#2.3-Private-Methods)\n",
51 | " * [2.4 Anonymous Functions (lambda functions)](py03v01_python_getting_started.ipynb#2.4-Anonymous-Functions-(lambda-functions))\n",
52 | " * [3 File I/O](py03v01_python_getting_started.ipynb#3-File-I/O)\n",
53 | " * [3.1 Simple I/O](py03v01_python_getting_started.ipynb#3.1-Simple-I/O)\n",
54 | " * [3.2 Pickle / cPickle](py03v01_python_getting_started.ipynb#3.2-Pickle-/-cPickle)\n",
55 | " * [4 Operating System](py03v01_python_getting_started.ipynb#4-Operating-System)\n",
56 | " * [4.1 General Info](py03v01_python_getting_started.ipynb#4.1-General-Info)\n",
57 | " * [4.2 sys — System-specific parameters and functions](py03v01_python_getting_started.ipynb#4.2-sys-—-System-specific-parameters-and-functions)\n",
58 | " * [4.3 os — Miscellaneous operating system interfaces](py03v01_python_getting_started.ipynb#4.3-os-—-Miscellaneous-operating-system-interfaces)\n",
59 | " * [4.4 glob — Unix style pathname pattern expansion](py03v01_python_getting_started.ipynb#4.4-glob-—-Unix-style-pathname-pattern-expansion)\n",
60 | "* [__Python Style Guide__](py04v01_python_style_guide.ipynb)\n",
61 | " * [1 PEP8](py04v01_python_style_guide.ipynb#1-PEP8)\n",
62 | " * [2 Syntax and Naming Conventions](py04v01_python_style_guide.ipynb#2-Syntax-and-Naming-Conventions)\n",
63 | " * [2.1 Avoid using semicolons at the end of lines](py04v01_python_style_guide.ipynb#2.1-Avoid-using-semicolons-at-the-end-of-lines)\n",
64 | " * [2.2 Avoid having multiple statements on a single line](py04v01_python_style_guide.ipynb#2.2-Avoid-having-multiple-statements-on-a-single-line)\n",
65 | " * [2.3 Indent your code block with 4 spaces](py04v01_python_style_guide.ipynb#2.3-Indent-your-code-block-with-4-spaces)\n",
66 | " * [2.4 Imports: Should always be on separate lines, if refered to different modules.](py04v01_python_style_guide.ipynb#2.4-Imports:-Should-always-be-on-separate-lines,-if-refered-to-different-modules.)\n",
67 | " * [2.5 Whitespace: required or not?](py04v01_python_style_guide.ipynb#2.5-Whitespace:-required-or-not?)\n",
68 | " * [2.6 Naming: names in python should be chosen according to the following conventions:](py04v01_python_style_guide.ipynb#2.6-Naming:-names-in-python-should-be-chosen-according-to-the-following-conventions:)\n",
69 | " * [3 Working with Data](py04v01_python_style_guide.ipynb#3-Working-with-Data)\n",
70 | " * [3.1 Avoid using a temporary variable when swapping two variables](py04v01_python_style_guide.ipynb#3.1-Avoid-using-a-temporary-variable-when-swapping-two-variables)\n",
71 | " * [3.2 Use tuples to unpack data](py04v01_python_style_guide.ipynb#3.2-Use-tuples-to-unpack-data)\n",
72 | " * [3.3 Strings: Use join and list to create a string from a list and viceversa](py04v01_python_style_guide.ipynb#3.3-Strings:-Use-join-and-list-to-create-a-string-from-a-list-and-viceversa)\n",
73 | " * [3.4 Strings: Use startswith and endswith instead of string slicing to check for prefixes or suffixes.](py04v01_python_style_guide.ipynb#3.4-Strings:-Use-startswith-and-endswith-instead-of-string-slicing-to-check-for-prefixes-or-suffixes.)\n",
74 | " * [3.5 Dictionaries: Use the default parameter of dict.get to provide default values](py04v01_python_style_guide.ipynb#3.5-Dictionaries:-Use-the-default-parameter-of-dict.get-to-provide-default-values)\n",
75 | " * [3.6 File IO: Use Context Managers to ensure resources are properly managed](py04v01_python_style_guide.ipynb#3.6-File-IO:-Use-Context-Managers-to-ensure-resources-are-properly-managed)\n",
76 | " * [4 Control Structures](py04v01_python_style_guide.ipynb#4-Control-Structures)\n",
77 | " * [4.1 Don't compare boolean values to True or False using ==](py04v01_python_style_guide.ipynb#4.1-Don't-compare-boolean-values-to-True-or-False-using-==)\n",
78 | " * [4.2 Avoid placing conditional branch on the same line as the colon](py04v01_python_style_guide.ipynb#4.2-Avoid-placing-conditional-branch-on-the-same-line-as-the-colon)\n",
79 | " * [4.3 Comparisons to singletons like None should always be done with is or is not.](py04v01_python_style_guide.ipynb#4.3-Comparisons-to-singletons-like-None-should-always-be-done-with-is-or-is-not.)\n",
80 | " * [4.4 Avoid repeating variable name in compound if Statement](py04v01_python_style_guide.ipynb#4.4-Avoid-repeating-variable-name-in-compound-if-Statement)\n",
81 | " * [4.5 Use list comprehensions to create lists that are subsets of existing data](py04v01_python_style_guide.ipynb#4.5-Use-list-comprehensions-to-create-lists-that-are-subsets-of-existing-data)\n",
82 | " * [4.6 Indexes in for Loops](py04v01_python_style_guide.ipynb#4.6-Indexes-in-for-Loops)\n",
83 | " * [4.7 range` and `xrange`](py04v01_python_style_guide.ipynb#4.7-range`-and-`xrange`)\n",
84 | "* [__Python More Examples__](py05v01_python_more_examples.ipynb)\n",
85 | " * [1 Working with Win32Com - Excel example](py05v01_python_more_examples.ipynb#1-Working-with-Win32Com---Excel-example)\n",
86 | " * [2 Sending an e-mail from a gmail account](py05v01_python_more_examples.ipynb#2-Sending-an-e-mail-from-a-gmail-account)\n",
87 | " * [3 Automating google search](py05v01_python_more_examples.ipynb#3-Automating-google-search)\n",
88 | "* [__Object Oriented Python and Exceptions__](py06v01_python_object_oriented.ipynb)\n",
89 | " * [1 Understanding Objects](py06v01_python_object_oriented.ipynb#1-Understanding-Objects)\n",
90 | " * [1.1 Creating a class](py06v01_python_object_oriented.ipynb#1.1-Creating-a-class)\n",
91 | " * [1.2 Instantiating a class](py06v01_python_object_oriented.ipynb#1.2-Instantiating-a-class)\n",
92 | " * [1.3 Accessing attributes](py06v01_python_object_oriented.ipynb#1.3-Accessing-attributes)\n",
93 | " * [1.4 Class methods](py06v01_python_object_oriented.ipynb#1.4-Class-methods)\n",
94 | " * [1.5 Accessing methods](py06v01_python_object_oriented.ipynb#1.5-Accessing-methods)\n",
95 | " * [1.6 Is __init__ always required?](py06v01_python_object_oriented.ipynb#1.6-Is-__init__-always-required?)\n",
96 | " * [2 Inheritance](py06v01_python_object_oriented.ipynb#2-Inheritance)\n",
97 | " * [3 Duck typing and Polymorphism](py06v01_python_object_oriented.ipynb#3-Duck-typing-and-Polymorphism)\n",
98 | " * [4 Legacy style classes](py06v01_python_object_oriented.ipynb#4-Legacy-style-classes)\n",
99 | " * [5 How long does a class have to be?](py06v01_python_object_oriented.ipynb#5-How-long-does-a-class-have-to-be?)\n",
100 | "* [__Object Oriented Programming in Python__](py06v02_python_object_oriented.ipynb)\n",
101 | " * [1 How to define classes](py06v02_python_object_oriented.ipynb#1-How-to-define-classes)\n",
102 | " * [1.1 Protect your abstraction](py06v02_python_object_oriented.ipynb#1.1-Protect-your-abstraction)\n",
103 | " * [2 Inheritance](py06v02_python_object_oriented.ipynb#2-Inheritance)\n",
104 | " * [2.1 Overriding methods](py06v02_python_object_oriented.ipynb#2.1-Overriding-methods)\n",
105 | " * [3 Encapsulation](py06v02_python_object_oriented.ipynb#3-Encapsulation)\n",
106 | " * [3.1 Composition](py06v02_python_object_oriented.ipynb#3.1-Composition)\n",
107 | " * [3.2 Dynamic Extension](py06v02_python_object_oriented.ipynb#3.2-Dynamic-Extension)\n",
108 | " * [3.2.1 Example](py06v02_python_object_oriented.ipynb#3.2.1-Example)\n",
109 | " * [3.3 Polymorphism and DuckTyping](py06v02_python_object_oriented.ipynb#3.3-Polymorphism-and-DuckTyping)\n",
110 | " * [3.4 Legacy style classes](py06v02_python_object_oriented.ipynb#3.4-Legacy-style-classes)\n",
111 | " * [3.5 How long does a class has to be?](py06v02_python_object_oriented.ipynb#3.5-How-long-does-a-class-has-to-be?)\n",
112 | "* [__Integration of Python with compiled languages__](py07v01_python_speed-up_with_C.ipynb)\n",
113 | " * [1 Introduction](py07v01_python_speed-up_with_C.ipynb#1-Introduction)\n",
114 | " * [2 Speeding up Python code with Cython](py07v01_python_speed-up_with_C.ipynb#2-Speeding-up-Python-code-with-Cython)\n",
115 | " * [2.1 References](py07v01_python_speed-up_with_C.ipynb#2.1-References)\n",
116 | " * [3 Integrating C/C++ code into Python with Weave](py07v01_python_speed-up_with_C.ipynb#3-Integrating-C/C++-code-into-Python-with-Weave)\n",
117 | " * [3.1 References](py07v01_python_speed-up_with_C.ipynb#3.1-References)\n",
118 | " * [4 Access to external libraries with ctypes](py07v01_python_speed-up_with_C.ipynb#4-Access-to-external-libraries-with-ctypes)\n",
119 | " * [4.1 References](py07v01_python_speed-up_with_C.ipynb#4.1-References)\n",
120 | " * [5 Embedding Python in C](py07v01_python_speed-up_with_C.ipynb#5-Embedding-Python-in-C)\n",
121 | " * [5.1 References](py07v01_python_speed-up_with_C.ipynb#5.1-References)\n",
122 | "* [__Unicode__](py08v01_Unicode.ipynb)\n",
123 | " * [1 The World and Unicode](py08v01_Unicode.ipynb#1-The-World-and-Unicode)\n",
124 | " * [2 Encoding and decoding in Python 2.x](py08v01_Unicode.ipynb#2-Encoding-and-decoding-in-Python-2.x)\n",
125 | " * [3 Implicit conversion in Python 2.x](py08v01_Unicode.ipynb#3-Implicit-conversion-in-Python-2.x)\n",
126 | " * [4 Bytes Outside, Unicode Inside](py08v01_Unicode.ipynb#4-Bytes-Outside,-Unicode-Inside)\n",
127 | "* [__Regular Expressions__](py09v01_python_regular_expressions.ipynb)\n",
128 | " * [1 Finding wanted words and pieces of information (in a text complexity)](py09v01_python_regular_expressions.ipynb#1-Finding-wanted-words-and-pieces-of-information-(in-a-text-complexity))\n",
129 | " * [2 Python easy solutions for simple problems](py09v01_python_regular_expressions.ipynb#2-Python-easy-solutions-for-simple-problems)\n",
130 | " * [2.1 Some of the built-in python string functions may solve some of the easiest tasks:](py09v01_python_regular_expressions.ipynb#2.1-Some-of-the-built-in-python-string-functions-may-solve-some-of-the-easiest-tasks:)\n",
131 | " * [2.1.1 find](py09v01_python_regular_expressions.ipynb#2.1.1-find)\n",
132 | " * [2.1.2 strip, lstrip, rstrip](py09v01_python_regular_expressions.ipynb#2.1.2-strip,-lstrip,-rstrip)\n",
133 | " * [2.1.3 replace](py09v01_python_regular_expressions.ipynb#2.1.3-replace)\n",
134 | " * [2.1.4 functions for identifying the type of character](py09v01_python_regular_expressions.ipynb#2.1.4-functions-for-identifying-the-type-of-character)\n",
135 | " * [2.1.5 a slightly more complex example](py09v01_python_regular_expressions.ipynb#2.1.5-a-slightly-more-complex-example)\n",
136 | " * [2.2 The Power of Regular Expressions](py09v01_python_regular_expressions.ipynb#2.2-The-Power-of-Regular-Expressions)\n",
137 | " * [2.3 Python re module](py09v01_python_regular_expressions.ipynb#2.3-Python-re-module)\n"
138 | ]
139 | }
140 | ],
141 | "metadata": {},
142 | "nbformat": 4,
143 | "nbformat_minor": 0
144 | }
--------------------------------------------------------------------------------
/python-ipython/py05v04_python_more_examples.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "cells": [
3 | {
4 | "cell_type": "markdown",
5 | "metadata": {},
6 | "source": [
7 | "# Python More Examples"
8 | ]
9 | },
10 | {
11 | "cell_type": "code",
12 | "execution_count": 1,
13 | "metadata": {},
14 | "outputs": [
15 | {
16 | "data": {
17 | "text/html": [
18 | "