├── Data_4.4 ├── 4.3.11.csv ├── 4.3.11_Female.csv ├── 4.3.13.csv ├── 4.3.14.csv └── 4.3.15.csv ├── Data_4.5 ├── Data_4.5.10.h5 ├── Data_4.5.12.html └── Data_4.5.15.xml ├── Data_6.1 ├── task2.csv ├── task2_df.csv ├── task4.csv ├── ДЗ - Знакомство с иерархической индексацией (2).ipynb └── Задача_1.csv ├── Data_6.2 ├── task5.csv └── ДЗ - Действия с мультииндексами в датафреймах.ipynb ├── Image ├── photo_2023-02-10_18-30-47.jpg ├── photo_2023-02-10_18-30-58.jpg ├── photo_2023-02-10_18-31-11.jpg └── photo_2023-02-10_18-33-04.jpg ├── LearningMaterials └── 15_pandas_functions (2).pdf ├── README.md ├── Step.4.3_df.csv ├── Step.4.4_Задача2.csv ├── Step.4.4_Задача2.json ├── Step_2.1-2.2_Numpy(Зачем он нужен при изучении Pandas).ipynb ├── Step_2.11-2.12_Логические функции и функция в функции, where и статистика.ipynb ├── Step_2.13_Функции any, all, sort, unique, in1d. Обзор линейной алгебры.ipynb ├── Step_2.14_Функции permutation и shuffle. Сохранение массива в файл.ipynb ├── Step_2.3-2.4_Типы данных и их преобразование, арифметика, доступ к элементам.ipynb ├── Step_2.5.-2.6 - Двумерные и трехмерные массивы. .ipynb ├── Step_2.7-2.8_Маска и слайсинг, индексация, reshape, Практика.ipynb ├── Step_2.9-2.10 Еще о reshape, транспонирование, унарные и бинарные функции.ipynb ├── Step_3.10 Операторы loc, iloc, at, iat. Сложение нескольких датафреймов.ipynb ├── Step_3.11 Сложение датафреймов, сортировки, арифметика с пропусками.ipynb ├── Step_3.12 Описательные статистики. Уникальные значения.ipynb ├── Step_3.13-3.14_Контрольная работа 1.ipynb ├── Step_3.1_Знакомство с Series.ipynb ├── Step_3.3-3.4_Поподробнее про серии. Идексы, сложение, проверка на NaN.ipynb ├── Step_3.5-3.7 - DataFrame индексы, вложенные словари, del и .T.ipynb ├── Step_3.8-3.9 Функции reindex, drop и индексация в DateFrame.ipynb ├── Step_4.1 CSV.ipynb ├── Step_4.3 Учимся читать большие файлы частями.ipynb ├── Step_4.4 - JSON.ipynb ├── Step_4.4._output.json ├── Step_4.4._output_orient.json ├── Step_4.4._Задачка1.json ├── Step_4.4.json ├── Step_4.5 Знакомимся с форматами HTML, XML, PICKLE, HDF5.ipynb ├── Step_5.1 Обработка пропусков .dropna(), .isnull(), .notnull().ipynb ├── Step_5.2 Очистка и подготовка данных к анализу ( .fillna(), .duplicated(), .drop_duplicates(), .map() ).ipynb ├── Step_5.3 Замена значений и дискретизация ( .replace(), .rename(), cut(), .categories ).ipynb ├── Step_5.4 Определение выбросов и устранение их (.describe(), np.sign(), .sample() ).ipynb ├── Step_5.5 Матрицы фиктивных переменных (.get_dummies(), .join(), .add_prefix() ).ipynb ├── Step_5.6 Работа со строками ( .str.replace(), .str.upper(), .str.capitalize()).ipynb ├── Step_6.1 MultiIndex. Знакомство с иерархической индексацией. (.unstack(), .stack()).ipynb ├── Step_6.2 - MultiIndex in DataFrame (.swaplevel(), sort_index(), .reset_index()).ipynb ├── Step_6.2.1 ДЗ - Действия с мультииндексами в датафреймах.ipynb ├── data.npz ├── df1_result.csv ├── df2_result.csv ├── df3_result.csv ├── example2.csv ├── l2.csv ├── Обновления сентября, 2022 г. — База знаний Lineage II Essence.html ├── Обновления сентября, 2022 г. — База знаний Lineage II Essence_files ├── 1c1c2bf44c9e8907839dbee0638c6570.png ├── 2a05cd5c4cfd716d3b0dac9148c5cf97.png ├── 2b5bd765cafcaea2577209e39848fbe2.png ├── analytics.js.Без названия ├── c8b1cb2432226079665ee5eca0a8af7f.png ├── common_styles.css ├── core.js.Без названия ├── default_styles.css ├── jquery-3.4.1.js.Без названия ├── jquery.cookie.min.js.Без названия ├── jquery.jscrollpane.css ├── jquery.jscrollpane.js.Без названия ├── jquery.l2db-syndication.css ├── jquery.l2db-syndication.js.Без названия ├── jquery.md5.min.js.Без названия ├── jquery.mousewheel.min.js.Без названия ├── js ├── js(1) ├── online.png ├── pegi.png ├── script.js(1).Без названия ├── script.js.Без названия ├── style(1).css ├── style(2).css ├── style(3).css ├── style(4).css ├── style(5).css ├── style(6).css ├── style(7).css ├── style(8).css ├── style.css ├── tag.js.Без названия ├── template.js.Без названия ├── template_styles.css └── violence.png ├── Пассажиропоток_МосМетро_2.csv ├── Пассажиропоток_МосМетро_4.2.1.csv ├── Пассажиропоток_МосМетро_4.2.2.csv ├── Полезные строковые функции в Pandas.ipynb └── Строковые_функции_в_Pandas.pdf /Data_4.4/4.3.11_Female.csv: -------------------------------------------------------------------------------- 1 | username;mail 2 | lambertemma;vsmith@yahoo.com 3 | greid;graceholloway@yahoo.com 4 | kristin75;stacy77@yahoo.com 5 | ecox;kimrosario@hotmail.com 6 | markhall;edwardswilliam@hotmail.com 7 | mmorales;sarahrodriguez@hotmail.com 8 | hollyrussell;hartedward@yahoo.com 9 | jamesperry;nguyenanthony@hotmail.com 10 | madison37;willie20@yahoo.com 11 | suzanne85;matthew73@gmail.com 12 | gregory31;warrenberry@gmail.com 13 | angela88;khughes@gmail.com 14 | hsimmons;sullivanpaula@gmail.com 15 | jeremy49;cookphilip@yahoo.com 16 | gregory97;ramirezkristine@hotmail.com 17 | ksullivan;melinda76@hotmail.com 18 | louisgentry;fpark@gmail.com 19 | allenmelanie;tinaschroeder@yahoo.com 20 | sandra34;wgonzalez@gmail.com 21 | kristinpatterson;hmoody@hotmail.com 22 | shelbyvilla;athomas@yahoo.com 23 | zwood;keithwilliams@gmail.com 24 | miguelfields;gharrington@hotmail.com 25 | samantha86;gatesbarry@gmail.com 26 | victoria22;laura73@gmail.com 27 | butleralexandra;scowan@gmail.com 28 | steven90;brittneymoore@yahoo.com 29 | riveranicholas;donnaball@yahoo.com 30 | trevorfrench;connerkatie@hotmail.com 31 | mooneyphillip;lauren58@gmail.com 32 | wcox;ocampbell@gmail.com 33 | alexanderstephanie;douglasjustin@gmail.com 34 | kimberly10;anthonysmith@hotmail.com 35 | david23;ericbryant@gmail.com 36 | gonzalessheila;sandrasanchez@gmail.com 37 | bsullivan;zmoore@hotmail.com 38 | stacy63;oberry@hotmail.com 39 | lopezkayla;angelicamartinez@gmail.com 40 | jenkinsmiguel;robert78@yahoo.com 41 | emily52;nancyterry@gmail.com 42 | marysmith;ytaylor@hotmail.com 43 | fieldsnichole;pellis@yahoo.com 44 | kimberlythomas;yvonne21@gmail.com 45 | brooksmichael;abarnett@yahoo.com 46 | jmartin;pedwards@gmail.com 47 | yhaney;brendajohnson@yahoo.com 48 | carolyoung;morganrush@gmail.com 49 | spenceradam;brittany43@gmail.com 50 | juanbauer;lidennis@gmail.com 51 | albert66;samuel32@gmail.com 52 | hjones;gardnerpatrick@hotmail.com 53 | rita84;hogansean@gmail.com 54 | clairemosley;caitlynhoover@gmail.com 55 | qfrazier;thomasbooth@yahoo.com 56 | dblankenship;xsummers@yahoo.com 57 | espinozaconnie;david02@hotmail.com 58 | bwatkins;marissajames@gmail.com 59 | robertrobinson;dcortez@yahoo.com 60 | wrightmelinda;jimenezlisa@hotmail.com 61 | ejohnson;kadams@yahoo.com 62 | owenedward;james73@gmail.com 63 | tiffanyarnold;sheri31@hotmail.com 64 | zdominguez;karen44@hotmail.com 65 | youngjeff;martha12@yahoo.com 66 | haneyroger;dixonlee@hotmail.com 67 | gstewart;tonya17@hotmail.com 68 | maria58;katie22@gmail.com 69 | kjones;bhicks@yahoo.com 70 | vanessa63;mccoylaura@hotmail.com 71 | shermanjustin;elizabethgraves@gmail.com 72 | ipittman;williamingram@hotmail.com 73 | randy96;ftorres@yahoo.com 74 | margaret79;bakerjeffrey@gmail.com 75 | alexandria94;bridgesscott@hotmail.com 76 | williamslaura;clarkchristine@hotmail.com 77 | robinsondiana;andrewsantiago@hotmail.com 78 | nhernandez;lindsey28@hotmail.com 79 | goodmanrachel;rgreen@hotmail.com 80 | kelleydeborah;blankenshipsamantha@gmail.com 81 | ashleyfranklin;brianhill@yahoo.com 82 | scottwilliamson;swells@yahoo.com 83 | crystalnunez;ochoaaustin@gmail.com 84 | christine82;justin53@gmail.com 85 | brianwood;tlewis@gmail.com 86 | ohoffman;smyers@gmail.com 87 | jgarner;stephanieramos@yahoo.com 88 | monicacarr;lisaschwartz@gmail.com 89 | james76;mariadeleon@yahoo.com 90 | hoganjonathan;gillaustin@gmail.com 91 | nathanrosales;bill74@gmail.com 92 | tpearson;adamsstephen@hotmail.com 93 | adriana64;ruth73@yahoo.com 94 | lee85;beckkendra@gmail.com 95 | jacqueline92;michael70@gmail.com 96 | matthew56;johnnyschultz@gmail.com 97 | kramirez;opatrick@yahoo.com 98 | sclark;dfisher@gmail.com 99 | nicholasrobinson;jennifer11@gmail.com 100 | ystout;elizabeththomas@hotmail.com 101 | austin46;rhiggins@yahoo.com 102 | moorekelly;lauragardner@yahoo.com 103 | vazquezjohn;scottnicholas@gmail.com 104 | justin25;ewalker@yahoo.com 105 | robert89;lsimmons@gmail.com 106 | todd08;hilladrienne@hotmail.com 107 | -------------------------------------------------------------------------------- /Data_4.4/4.3.14.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TaliyIvanov/Pandas-Numpy/846f5888f9331effb4544aa1adba72bb9dbd162e/Data_4.4/4.3.14.csv -------------------------------------------------------------------------------- /Data_4.5/Data_4.5.10.h5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TaliyIvanov/Pandas-Numpy/846f5888f9331effb4544aa1adba72bb9dbd162e/Data_4.5/Data_4.5.10.h5 -------------------------------------------------------------------------------- /Data_6.1/task2.csv: -------------------------------------------------------------------------------- 1 | District,cost_type,count,sum 2 | Академический район,Бесплатная,3,19 3 | Академический район,Платная,1,8 4 | Алексеевский район,Бесплатная,9,88 5 | Алексеевский район,Платная,7,64 6 | Алтуфьевский район,Бесплатная,2,20 7 | Алтуфьевский район,Платная,3,30 8 | Бабушкинский район,Бесплатная,7,62 9 | Бабушкинский район,Платная,9,77 10 | Басманный район,Бесплатная,37,116 11 | Басманный район,Платная,45,109 12 | Бескудниковский район,Бесплатная,4,25 13 | Бескудниковский район,Платная,4,28 14 | Бутырский район,Бесплатная,3,18 15 | Бутырский район,Платная,4,38 16 | Войковский район,Бесплатная,6,38 17 | Войковский район,Платная,2,16 18 | Гагаринский район,Бесплатная,6,52 19 | Гагаринский район,Платная,3,26 20 | Головинский район,Бесплатная,3,28 21 | Головинский район,Платная,9,67 22 | Даниловский район,Бесплатная,2,11 23 | Даниловский район,Платная,3,21 24 | Дмитровский район,Бесплатная,3,24 25 | Дмитровский район,Платная,2,18 26 | Донской район,Бесплатная,3,26 27 | Донской район,Платная,3,12 28 | Красносельский район,Бесплатная,13,35 29 | Красносельский район,Платная,10,44 30 | Ломоносовский район,Бесплатная,2,9 31 | Ломоносовский район,Платная,2,11 32 | Лосиноостровский район,Бесплатная,5,39 33 | Лосиноостровский район,Платная,6,49 34 | Мещанский район,Бесплатная,11,34 35 | Мещанский район,Платная,9,26 36 | Можайский район,Бесплатная,1,8 37 | Можайский район,Платная,3,24 38 | Молжаниновский район,Платная,1,1 39 | Нагорный район,Бесплатная,3,30 40 | Нагорный район,Платная,6,42 41 | Нижегородский район,Бесплатная,3,22 42 | Обручевский район,Бесплатная,5,48 43 | Обручевский район,Платная,4,39 44 | Останкинский район,Бесплатная,6,40 45 | Останкинский район,Платная,4,34 46 | Пресненский район,Бесплатная,23,80 47 | Пресненский район,Платная,23,83 48 | Рязанский район,Бесплатная,2,16 49 | Рязанский район,Платная,4,21 50 | Савёловский район,Бесплатная,4,36 51 | Савёловский район,Платная,3,21 52 | Таганский район,Бесплатная,8,19 53 | Таганский район,Платная,9,20 54 | Тверской район,Бесплатная,19,56 55 | Тверской район,Платная,20,61 56 | Тимирязевский район,Бесплатная,1,3 57 | Тимирязевский район,Платная,5,44 58 | Хорошёвский район,Бесплатная,4,36 59 | Хорошёвский район,Платная,1,8 60 | Южнопортовый район,Бесплатная,4,18 61 | Южнопортовый район,Платная,2,16 62 | Ярославский район,Бесплатная,7,68 63 | Ярославский район,Платная,3,28 64 | поселение Внуковское,Бесплатная,2,16 65 | поселение Внуковское,Платная,2,36 66 | поселение Московский,Бесплатная,2,18 67 | поселение Московский,Платная,1,20 68 | поселение Сосенское,Бесплатная,4,50 69 | поселение Сосенское,Платная,1,8 70 | район Арбат,Бесплатная,8,21 71 | район Арбат,Платная,7,9 72 | район Аэропорт,Бесплатная,1,8 73 | район Аэропорт,Платная,1,10 74 | район Беговой,Бесплатная,1,10 75 | район Бибирево,Бесплатная,7,61 76 | район Бибирево,Платная,12,114 77 | район Бирюлёво Восточное,Бесплатная,5,50 78 | район Бирюлёво Восточное,Платная,10,90 79 | район Бирюлёво Западное,Бесплатная,1,10 80 | район Бирюлёво Западное,Платная,2,18 81 | район Богородское,Бесплатная,2,14 82 | район Богородское,Платная,1,8 83 | район Братеево,Бесплатная,3,17 84 | район Братеево,Платная,3,30 85 | район Вешняки,Бесплатная,5,35 86 | район Вешняки,Платная,3,17 87 | район Восточное Дегунино,Бесплатная,2,9 88 | район Восточное Дегунино,Платная,2,12 89 | район Восточное Измайлово,Бесплатная,1,8 90 | район Восточное Измайлово,Платная,1,10 91 | район Выхино-Жулебино,Бесплатная,10,63 92 | район Выхино-Жулебино,Платная,6,30 93 | район Гольяново,Бесплатная,2,9 94 | район Гольяново,Платная,3,26 95 | район Дорогомилово,Бесплатная,1,8 96 | район Дорогомилово,Платная,1,4 97 | район Замоскворечье,Бесплатная,7,9 98 | район Замоскворечье,Платная,5,16 99 | район Западное Дегунино,Бесплатная,4,38 100 | район Западное Дегунино,Платная,1,8 101 | район Зюзино,Бесплатная,2,14 102 | район Зюзино,Платная,4,16 103 | район Зябликово,Бесплатная,4,40 104 | район Зябликово,Платная,11,98 105 | район Ивановское,Бесплатная,2,16 106 | район Ивановское,Платная,3,20 107 | район Измайлово,Бесплатная,2,11 108 | район Измайлово,Платная,6,41 109 | район Капотня,Бесплатная,4,32 110 | район Капотня,Платная,4,32 111 | район Коньково,Бесплатная,4,40 112 | район Коньково,Платная,3,28 113 | район Коптево,Бесплатная,1,10 114 | район Коптево,Платная,3,30 115 | район Косино-Ухтомский,Бесплатная,3,18 116 | район Косино-Ухтомский,Платная,7,47 117 | район Котловка,Бесплатная,3,28 118 | район Котловка,Платная,3,26 119 | район Крылатское,Бесплатная,2,18 120 | район Крылатское,Платная,4,27 121 | район Крюково,Бесплатная,1,8 122 | район Крюково,Платная,1,8 123 | район Кузьминки,Бесплатная,1,10 124 | район Кузьминки,Платная,2,16 125 | район Кунцево,Бесплатная,1,10 126 | район Кунцево,Платная,1,8 127 | район Куркино,Платная,2,20 128 | район Левобережный,Бесплатная,2,18 129 | район Левобережный,Платная,4,38 130 | район Лефортово,Бесплатная,4,21 131 | район Лефортово,Платная,5,26 132 | район Лианозово,Бесплатная,8,76 133 | район Лианозово,Платная,4,38 134 | район Люблино,Бесплатная,2,18 135 | район Люблино,Платная,3,28 136 | район Марфино,Бесплатная,1,8 137 | район Марфино,Платная,2,8 138 | район Марьина Роща,Бесплатная,3,30 139 | район Марьина Роща,Платная,3,24 140 | район Марьино,Платная,2,16 141 | район Метрогородок,Бесплатная,4,18 142 | район Митино,Бесплатная,3,15 143 | район Митино,Платная,3,18 144 | район Москворечье-Сабурово,Бесплатная,2,16 145 | район Москворечье-Сабурово,Платная,3,22 146 | район Нагатино-Садовники,Бесплатная,1,10 147 | район Нагатино-Садовники,Платная,8,78 148 | район Нагатинский Затон,Бесплатная,7,53 149 | район Нагатинский Затон,Платная,3,28 150 | район Некрасовка,Бесплатная,1,12 151 | район Некрасовка,Платная,5,46 152 | район Ново-Переделкино,Бесплатная,4,26 153 | район Ново-Переделкино,Платная,2,12 154 | район Новогиреево,Бесплатная,2,11 155 | район Новогиреево,Платная,2,18 156 | район Новокосино,Бесплатная,1,1 157 | район Новокосино,Платная,4,25 158 | район Орехово-Борисово Северное,Бесплатная,2,20 159 | район Орехово-Борисово Северное,Платная,8,76 160 | район Орехово-Борисово Южное,Бесплатная,7,66 161 | район Орехово-Борисово Южное,Платная,10,85 162 | район Отрадное,Бесплатная,15,131 163 | район Отрадное,Платная,13,111 164 | район Очаково-Матвеевское,Бесплатная,1,6 165 | район Перово,Бесплатная,5,35 166 | район Печатники,Бесплатная,1,8 167 | район Печатники,Платная,1,10 168 | район Покровское-Стрешнево,Бесплатная,2,16 169 | район Покровское-Стрешнево,Платная,2,16 170 | район Преображенское,Бесплатная,3,21 171 | район Преображенское,Платная,2,11 172 | район Проспект Вернадского,Бесплатная,2,9 173 | район Проспект Вернадского,Платная,2,9 174 | район Раменки,Бесплатная,4,25 175 | район Раменки,Платная,4,42 176 | район Ростокино,Бесплатная,2,18 177 | район Ростокино,Платная,2,20 178 | район Савёлки,Бесплатная,3,26 179 | район Савёлки,Платная,6,50 180 | район Свиблово,Платная,1,10 181 | район Северное Бутово,Бесплатная,7,60 182 | район Северное Бутово,Платная,6,60 183 | район Северное Измайлово,Бесплатная,1,1 184 | район Северное Измайлово,Платная,2,18 185 | район Северное Медведково,Бесплатная,9,84 186 | район Северное Медведково,Платная,6,52 187 | район Северное Тушино,Бесплатная,3,30 188 | район Северное Тушино,Платная,3,30 189 | район Северный,Бесплатная,4,36 190 | район Северный,Платная,1,10 191 | район Силино,Бесплатная,5,28 192 | район Силино,Платная,1,8 193 | район Сокол,Платная,1,10 194 | район Соколиная Гора,Бесплатная,4,16 195 | район Соколиная Гора,Платная,4,25 196 | район Сокольники,Бесплатная,4,28 197 | район Солнцево,Бесплатная,2,12 198 | район Солнцево,Платная,2,16 199 | район Старое Крюково,Платная,3,20 200 | район Строгино,Бесплатная,4,34 201 | район Строгино,Платная,4,34 202 | район Текстильщики,Платная,4,25 203 | район Тропарёво-Никулино,Бесплатная,1,6 204 | район Тропарёво-Никулино,Платная,3,26 205 | район Тёплый Стан,Бесплатная,4,36 206 | район Тёплый Стан,Платная,4,25 207 | район Фили-Давыдково,Платная,4,36 208 | район Филёвский Парк,Бесплатная,1,10 209 | район Хамовники,Бесплатная,7,24 210 | район Хамовники,Платная,3,4 211 | район Ховрино,Бесплатная,1,6 212 | район Ховрино,Платная,2,12 213 | район Хорошёво-Мнёвники,Бесплатная,1,6 214 | район Хорошёво-Мнёвники,Платная,4,36 215 | район Царицыно,Бесплатная,6,56 216 | район Царицыно,Платная,4,38 217 | район Чертаново Северное,Бесплатная,6,58 218 | район Чертаново Северное,Платная,2,20 219 | район Чертаново Центральное,Бесплатная,7,68 220 | район Чертаново Центральное,Платная,3,21 221 | район Чертаново Южное,Бесплатная,9,86 222 | район Чертаново Южное,Платная,4,36 223 | район Черёмушки,Бесплатная,3,20 224 | район Черёмушки,Платная,2,20 225 | район Щукино,Бесплатная,2,11 226 | район Щукино,Платная,2,18 227 | район Южное Бутово,Бесплатная,4,36 228 | район Южное Бутово,Платная,10,92 229 | район Южное Медведково,Бесплатная,7,60 230 | район Южное Медведково,Платная,2,18 231 | район Южное Тушино,Бесплатная,2,12 232 | район Южное Тушино,Платная,5,44 233 | район Якиманка,Бесплатная,6,18 234 | район Якиманка,Платная,4,16 235 | район Ясенево,Бесплатная,9,66 236 | район Ясенево,Платная,4,38 237 | -------------------------------------------------------------------------------- /Data_6.1/task2_df.csv: -------------------------------------------------------------------------------- 1 | District,Бесплатная,Платная 2 | Академический район,19.0,8.0 3 | Алексеевский район,88.0,64.0 4 | Алтуфьевский район,20.0,30.0 5 | Бабушкинский район,62.0,77.0 6 | Басманный район,116.0,109.0 7 | Бескудниковский район,25.0,28.0 8 | Бутырский район,18.0,38.0 9 | Войковский район,38.0,16.0 10 | Гагаринский район,52.0,26.0 11 | Головинский район,28.0,67.0 12 | Даниловский район,11.0,21.0 13 | Дмитровский район,24.0,18.0 14 | Донской район,26.0,12.0 15 | Красносельский район,35.0,44.0 16 | Ломоносовский район,9.0,11.0 17 | Лосиноостровский район,39.0,49.0 18 | Мещанский район,34.0,26.0 19 | Можайский район,8.0,24.0 20 | Молжаниновский район,,1.0 21 | Нагорный район,30.0,42.0 22 | Нижегородский район,22.0, 23 | Обручевский район,48.0,39.0 24 | Останкинский район,40.0,34.0 25 | Пресненский район,80.0,83.0 26 | Рязанский район,16.0,21.0 27 | Савёловский район,36.0,21.0 28 | Таганский район,19.0,20.0 29 | Тверской район,56.0,61.0 30 | Тимирязевский район,3.0,44.0 31 | Хорошёвский район,36.0,8.0 32 | Южнопортовый район,18.0,16.0 33 | Ярославский район,68.0,28.0 34 | поселение Внуковское,16.0,36.0 35 | поселение Московский,18.0,20.0 36 | поселение Сосенское,50.0,8.0 37 | район Арбат,21.0,9.0 38 | район Аэропорт,8.0,10.0 39 | район Беговой,10.0, 40 | район Бибирево,61.0,114.0 41 | район Бирюлёво Восточное,50.0,90.0 42 | район Бирюлёво Западное,10.0,18.0 43 | район Богородское,14.0,8.0 44 | район Братеево,17.0,30.0 45 | район Вешняки,35.0,17.0 46 | район Восточное Дегунино,9.0,12.0 47 | район Восточное Измайлово,8.0,10.0 48 | район Выхино-Жулебино,63.0,30.0 49 | район Гольяново,9.0,26.0 50 | район Дорогомилово,8.0,4.0 51 | район Замоскворечье,9.0,16.0 52 | район Западное Дегунино,38.0,8.0 53 | район Зюзино,14.0,16.0 54 | район Зябликово,40.0,98.0 55 | район Ивановское,16.0,20.0 56 | район Измайлово,11.0,41.0 57 | район Капотня,32.0,32.0 58 | район Коньково,40.0,28.0 59 | район Коптево,10.0,30.0 60 | район Косино-Ухтомский,18.0,47.0 61 | район Котловка,28.0,26.0 62 | район Крылатское,18.0,27.0 63 | район Крюково,8.0,8.0 64 | район Кузьминки,10.0,16.0 65 | район Кунцево,10.0,8.0 66 | район Куркино,,20.0 67 | район Левобережный,18.0,38.0 68 | район Лефортово,21.0,26.0 69 | район Лианозово,76.0,38.0 70 | район Люблино,18.0,28.0 71 | район Марфино,8.0,8.0 72 | район Марьина Роща,30.0,24.0 73 | район Марьино,,16.0 74 | район Метрогородок,18.0, 75 | район Митино,15.0,18.0 76 | район Москворечье-Сабурово,16.0,22.0 77 | район Нагатино-Садовники,10.0,78.0 78 | район Нагатинский Затон,53.0,28.0 79 | район Некрасовка,12.0,46.0 80 | район Ново-Переделкино,26.0,12.0 81 | район Новогиреево,11.0,18.0 82 | район Новокосино,1.0,25.0 83 | район Орехово-Борисово Северное,20.0,76.0 84 | район Орехово-Борисово Южное,66.0,85.0 85 | район Отрадное,131.0,111.0 86 | район Очаково-Матвеевское,6.0, 87 | район Перово,35.0, 88 | район Печатники,8.0,10.0 89 | район Покровское-Стрешнево,16.0,16.0 90 | район Преображенское,21.0,11.0 91 | район Проспект Вернадского,9.0,9.0 92 | район Раменки,25.0,42.0 93 | район Ростокино,18.0,20.0 94 | район Савёлки,26.0,50.0 95 | район Свиблово,,10.0 96 | район Северное Бутово,60.0,60.0 97 | район Северное Измайлово,1.0,18.0 98 | район Северное Медведково,84.0,52.0 99 | район Северное Тушино,30.0,30.0 100 | район Северный,36.0,10.0 101 | район Силино,28.0,8.0 102 | район Сокол,,10.0 103 | район Соколиная Гора,16.0,25.0 104 | район Сокольники,28.0, 105 | район Солнцево,12.0,16.0 106 | район Старое Крюково,,20.0 107 | район Строгино,34.0,34.0 108 | район Текстильщики,,25.0 109 | район Тропарёво-Никулино,6.0,26.0 110 | район Тёплый Стан,36.0,25.0 111 | район Фили-Давыдково,,36.0 112 | район Филёвский Парк,10.0, 113 | район Хамовники,24.0,4.0 114 | район Ховрино,6.0,12.0 115 | район Хорошёво-Мнёвники,6.0,36.0 116 | район Царицыно,56.0,38.0 117 | район Чертаново Северное,58.0,20.0 118 | район Чертаново Центральное,68.0,21.0 119 | район Чертаново Южное,86.0,36.0 120 | район Черёмушки,20.0,20.0 121 | район Щукино,11.0,18.0 122 | район Южное Бутово,36.0,92.0 123 | район Южное Медведково,60.0,18.0 124 | район Южное Тушино,12.0,44.0 125 | район Якиманка,18.0,16.0 126 | район Ясенево,66.0,38.0 127 | -------------------------------------------------------------------------------- /Data_6.1/task4.csv: -------------------------------------------------------------------------------- 1 | AdmArea,District,cost_type,count,sum 2 | Восточный административный округ,Нижегородский район,Бесплатная,1,6 3 | Восточный административный округ,район Богородское,Бесплатная,2,14 4 | Восточный административный округ,район Богородское,Платная,1,8 5 | Восточный административный округ,район Вешняки,Бесплатная,5,35 6 | Восточный административный округ,район Вешняки,Платная,3,17 7 | Восточный административный округ,район Восточное Измайлово,Бесплатная,1,8 8 | Восточный административный округ,район Восточное Измайлово,Платная,1,10 9 | Восточный административный округ,район Гольяново,Бесплатная,2,9 10 | Восточный административный округ,район Гольяново,Платная,3,26 11 | Восточный административный округ,район Ивановское,Бесплатная,2,16 12 | Восточный административный округ,район Ивановское,Платная,3,20 13 | Восточный административный округ,район Измайлово,Бесплатная,2,11 14 | Восточный административный округ,район Измайлово,Платная,5,31 15 | Восточный административный округ,район Косино-Ухтомский,Бесплатная,3,18 16 | Восточный административный округ,район Косино-Ухтомский,Платная,7,47 17 | Восточный административный округ,район Метрогородок,Бесплатная,4,18 18 | Восточный административный округ,район Новогиреево,Бесплатная,2,11 19 | Восточный административный округ,район Новогиреево,Платная,2,18 20 | Восточный административный округ,район Новокосино,Бесплатная,1,1 21 | Восточный административный округ,район Новокосино,Платная,4,25 22 | Восточный административный округ,район Перово,Бесплатная,5,35 23 | Восточный административный округ,район Преображенское,Бесплатная,3,21 24 | Восточный административный округ,район Преображенское,Платная,2,11 25 | Восточный административный округ,район Северное Измайлово,Бесплатная,1,1 26 | Восточный административный округ,район Северное Измайлово,Платная,2,18 27 | Восточный административный округ,район Соколиная Гора,Бесплатная,4,16 28 | Восточный административный округ,район Соколиная Гора,Платная,4,25 29 | Восточный административный округ,район Сокольники,Бесплатная,4,28 30 | Западный административный округ,Можайский район,Бесплатная,1,8 31 | Западный административный округ,Можайский район,Платная,3,24 32 | Западный административный округ,район Дорогомилово,Бесплатная,1,8 33 | Западный административный округ,район Дорогомилово,Платная,1,4 34 | Западный административный округ,район Крылатское,Бесплатная,2,18 35 | Западный административный округ,район Крылатское,Платная,4,27 36 | Западный административный округ,район Кунцево,Бесплатная,1,10 37 | Западный административный округ,район Кунцево,Платная,1,8 38 | Западный административный округ,район Марьино,Платная,1,8 39 | Западный административный округ,район Ново-Переделкино,Бесплатная,4,26 40 | Западный административный округ,район Ново-Переделкино,Платная,2,12 41 | Западный административный округ,район Очаково-Матвеевское,Бесплатная,1,6 42 | Западный административный округ,район Проспект Вернадского,Бесплатная,2,9 43 | Западный административный округ,район Проспект Вернадского,Платная,2,9 44 | Западный административный округ,район Раменки,Бесплатная,4,25 45 | Западный административный округ,район Раменки,Платная,4,42 46 | Западный административный округ,район Солнцево,Бесплатная,2,12 47 | Западный административный округ,район Солнцево,Платная,2,16 48 | Западный административный округ,район Тропарёво-Никулино,Бесплатная,1,6 49 | Западный административный округ,район Тропарёво-Никулино,Платная,3,26 50 | Западный административный округ,район Фили-Давыдково,Платная,4,36 51 | Западный административный округ,район Филёвский Парк,Бесплатная,1,10 52 | Западный административный округ,район Якиманка,Платная,1,8 53 | Зеленоградский административный округ,район Крюково,Бесплатная,1,8 54 | Зеленоградский административный округ,район Крюково,Платная,1,8 55 | Зеленоградский административный округ,район Савёлки,Бесплатная,3,26 56 | Зеленоградский административный округ,район Савёлки,Платная,6,50 57 | Зеленоградский административный округ,район Силино,Бесплатная,5,28 58 | Зеленоградский административный округ,район Силино,Платная,1,8 59 | Зеленоградский административный округ,район Старое Крюково,Платная,3,20 60 | Новомосковский административный округ,поселение Внуковское,Бесплатная,2,16 61 | Новомосковский административный округ,поселение Внуковское,Платная,2,36 62 | Новомосковский административный округ,поселение Московский,Бесплатная,2,18 63 | Новомосковский административный округ,поселение Московский,Платная,1,20 64 | Новомосковский административный округ,поселение Сосенское,Бесплатная,4,50 65 | Новомосковский административный округ,поселение Сосенское,Платная,1,8 66 | Северный административный округ,Бескудниковский район,Бесплатная,4,25 67 | Северный административный округ,Бескудниковский район,Платная,4,28 68 | Северный административный округ,Войковский район,Бесплатная,6,38 69 | Северный административный округ,Войковский район,Платная,2,16 70 | Северный административный округ,Головинский район,Бесплатная,3,28 71 | Северный административный округ,Головинский район,Платная,9,67 72 | Северный административный округ,Дмитровский район,Бесплатная,3,24 73 | Северный административный округ,Дмитровский район,Платная,2,18 74 | Северный административный округ,Молжаниновский район,Платная,1,1 75 | Северный административный округ,Останкинский район,Платная,1,8 76 | Северный административный округ,Савёловский район,Бесплатная,4,36 77 | Северный административный округ,Савёловский район,Платная,3,21 78 | Северный административный округ,Тимирязевский район,Бесплатная,1,3 79 | Северный административный округ,Тимирязевский район,Платная,5,44 80 | Северный административный округ,Хорошёвский район,Бесплатная,4,36 81 | Северный административный округ,Хорошёвский район,Платная,1,8 82 | Северный административный округ,район Арбат,Бесплатная,1,8 83 | Северный административный округ,район Аэропорт,Бесплатная,1,8 84 | Северный административный округ,район Аэропорт,Платная,1,10 85 | Северный административный округ,район Беговой,Бесплатная,1,10 86 | Северный административный округ,район Восточное Дегунино,Бесплатная,2,9 87 | Северный административный округ,район Восточное Дегунино,Платная,2,12 88 | Северный административный округ,район Западное Дегунино,Бесплатная,4,38 89 | Северный административный округ,район Западное Дегунино,Платная,1,8 90 | Северный административный округ,район Коптево,Бесплатная,1,10 91 | Северный административный округ,район Коптево,Платная,3,30 92 | Северный административный округ,район Левобережный,Бесплатная,2,18 93 | Северный административный округ,район Левобережный,Платная,4,38 94 | Северный административный округ,район Марфино,Платная,1,2 95 | Северный административный округ,район Сокол,Платная,1,10 96 | Северный административный округ,район Ховрино,Бесплатная,1,6 97 | Северный административный округ,район Ховрино,Платная,2,12 98 | Северо-Восточный административный округ,Алексеевский район,Бесплатная,9,88 99 | Северо-Восточный административный округ,Алексеевский район,Платная,7,64 100 | Северо-Восточный административный округ,Алтуфьевский район,Бесплатная,2,20 101 | Северо-Восточный административный округ,Алтуфьевский район,Платная,3,30 102 | Северо-Восточный административный округ,Бабушкинский район,Бесплатная,7,62 103 | Северо-Восточный административный округ,Бабушкинский район,Платная,9,77 104 | Северо-Восточный административный округ,Бутырский район,Бесплатная,3,18 105 | Северо-Восточный административный округ,Бутырский район,Платная,4,38 106 | Северо-Восточный административный округ,Лосиноостровский район,Бесплатная,5,39 107 | Северо-Восточный административный округ,Лосиноостровский район,Платная,6,49 108 | Северо-Восточный административный округ,Останкинский район,Бесплатная,6,40 109 | Северо-Восточный административный округ,Останкинский район,Платная,3,26 110 | Северо-Восточный административный округ,Ярославский район,Бесплатная,7,68 111 | Северо-Восточный административный округ,Ярославский район,Платная,3,28 112 | Северо-Восточный административный округ,район Бибирево,Бесплатная,7,61 113 | Северо-Восточный административный округ,район Бибирево,Платная,12,114 114 | Северо-Восточный административный округ,район Лианозово,Бесплатная,8,76 115 | Северо-Восточный административный округ,район Лианозово,Платная,4,38 116 | Северо-Восточный административный округ,район Марфино,Бесплатная,1,8 117 | Северо-Восточный административный округ,район Марфино,Платная,1,6 118 | Северо-Восточный административный округ,район Марьина Роща,Бесплатная,3,30 119 | Северо-Восточный административный округ,район Марьина Роща,Платная,3,24 120 | Северо-Восточный административный округ,район Отрадное,Бесплатная,15,131 121 | Северо-Восточный административный округ,район Отрадное,Платная,13,111 122 | Северо-Восточный административный округ,район Ростокино,Бесплатная,2,18 123 | Северо-Восточный административный округ,район Ростокино,Платная,2,20 124 | Северо-Восточный административный округ,район Свиблово,Платная,1,10 125 | Северо-Восточный административный округ,район Северное Медведково,Бесплатная,9,84 126 | Северо-Восточный административный округ,район Северное Медведково,Платная,6,52 127 | Северо-Восточный административный округ,район Северный,Бесплатная,4,36 128 | Северо-Восточный административный округ,район Северный,Платная,1,10 129 | Северо-Восточный административный округ,район Южное Медведково,Бесплатная,7,60 130 | Северо-Восточный административный округ,район Южное Медведково,Платная,2,18 131 | Северо-Западный административный округ,район Куркино,Платная,2,20 132 | Северо-Западный административный округ,район Митино,Бесплатная,3,15 133 | Северо-Западный административный округ,район Митино,Платная,3,18 134 | Северо-Западный административный округ,район Покровское-Стрешнево,Бесплатная,2,16 135 | Северо-Западный административный округ,район Покровское-Стрешнево,Платная,2,16 136 | Северо-Западный административный округ,район Северное Тушино,Бесплатная,3,30 137 | Северо-Западный административный округ,район Северное Тушино,Платная,3,30 138 | Северо-Западный административный округ,район Строгино,Бесплатная,4,34 139 | Северо-Западный административный округ,район Строгино,Платная,4,34 140 | Северо-Западный административный округ,район Хорошёво-Мнёвники,Бесплатная,1,6 141 | Северо-Западный административный округ,район Хорошёво-Мнёвники,Платная,3,28 142 | Северо-Западный административный округ,район Щукино,Бесплатная,2,11 143 | Северо-Западный административный округ,район Щукино,Платная,2,18 144 | Северо-Западный административный округ,район Южное Тушино,Бесплатная,2,12 145 | Северо-Западный административный округ,район Южное Тушино,Платная,5,44 146 | Центральный административный округ,Басманный район,Бесплатная,37,116 147 | Центральный административный округ,Басманный район,Платная,45,109 148 | Центральный административный округ,Красносельский район,Бесплатная,13,35 149 | Центральный административный округ,Красносельский район,Платная,10,44 150 | Центральный административный округ,Мещанский район,Бесплатная,11,34 151 | Центральный административный округ,Мещанский район,Платная,8,18 152 | Центральный административный округ,Пресненский район,Бесплатная,23,80 153 | Центральный административный округ,Пресненский район,Платная,23,83 154 | Центральный административный округ,Таганский район,Бесплатная,8,19 155 | Центральный административный округ,Таганский район,Платная,9,20 156 | Центральный административный округ,Тверской район,Бесплатная,19,56 157 | Центральный административный округ,Тверской район,Платная,20,61 158 | Центральный административный округ,район Арбат,Бесплатная,7,13 159 | Центральный административный округ,район Арбат,Платная,7,9 160 | Центральный административный округ,район Замоскворечье,Бесплатная,7,9 161 | Центральный административный округ,район Замоскворечье,Платная,5,16 162 | Центральный административный округ,район Хамовники,Бесплатная,7,24 163 | Центральный административный округ,район Хамовники,Платная,3,4 164 | Центральный административный округ,район Хорошёво-Мнёвники,Платная,1,8 165 | Центральный административный округ,район Якиманка,Бесплатная,6,18 166 | Центральный административный округ,район Якиманка,Платная,3,8 167 | Юго-Восточный административный округ,Гагаринский район,Бесплатная,1,8 168 | Юго-Восточный административный округ,Нижегородский район,Бесплатная,2,16 169 | Юго-Восточный административный округ,Рязанский район,Бесплатная,2,16 170 | Юго-Восточный административный округ,Рязанский район,Платная,4,21 171 | Юго-Восточный административный округ,Южнопортовый район,Бесплатная,4,18 172 | Юго-Восточный административный округ,Южнопортовый район,Платная,2,16 173 | Юго-Восточный административный округ,район Выхино-Жулебино,Бесплатная,10,63 174 | Юго-Восточный административный округ,район Выхино-Жулебино,Платная,6,30 175 | Юго-Восточный административный округ,район Измайлово,Платная,1,10 176 | Юго-Восточный административный округ,район Капотня,Бесплатная,4,32 177 | Юго-Восточный административный округ,район Капотня,Платная,4,32 178 | Юго-Восточный административный округ,район Кузьминки,Бесплатная,1,10 179 | Юго-Восточный административный округ,район Кузьминки,Платная,2,16 180 | Юго-Восточный административный округ,район Лефортово,Бесплатная,4,21 181 | Юго-Восточный административный округ,район Лефортово,Платная,5,26 182 | Юго-Восточный административный округ,район Люблино,Бесплатная,2,18 183 | Юго-Восточный административный округ,район Люблино,Платная,3,28 184 | Юго-Восточный административный округ,район Марьино,Платная,1,8 185 | Юго-Восточный административный округ,район Нагатинский Затон,Бесплатная,1,8 186 | Юго-Восточный административный округ,район Нагатинский Затон,Платная,1,8 187 | Юго-Восточный административный округ,район Некрасовка,Бесплатная,1,12 188 | Юго-Восточный административный округ,район Некрасовка,Платная,5,46 189 | Юго-Восточный административный округ,район Печатники,Бесплатная,1,8 190 | Юго-Восточный административный округ,район Печатники,Платная,1,10 191 | Юго-Восточный административный округ,район Текстильщики,Платная,4,25 192 | Юго-Западный административный округ,Академический район,Бесплатная,3,19 193 | Юго-Западный административный округ,Академический район,Платная,1,8 194 | Юго-Западный административный округ,Гагаринский район,Бесплатная,5,44 195 | Юго-Западный административный округ,Гагаринский район,Платная,3,26 196 | Юго-Западный административный округ,Ломоносовский район,Бесплатная,2,9 197 | Юго-Западный административный округ,Ломоносовский район,Платная,2,11 198 | Юго-Западный административный округ,Обручевский район,Бесплатная,5,48 199 | Юго-Западный административный округ,Обручевский район,Платная,4,39 200 | Юго-Западный административный округ,район Зюзино,Бесплатная,2,14 201 | Юго-Западный административный округ,район Зюзино,Платная,4,16 202 | Юго-Западный административный округ,район Коньково,Бесплатная,4,40 203 | Юго-Западный административный округ,район Коньково,Платная,3,28 204 | Юго-Западный административный округ,район Котловка,Бесплатная,3,28 205 | Юго-Западный административный округ,район Котловка,Платная,3,26 206 | Юго-Западный административный округ,район Северное Бутово,Бесплатная,7,60 207 | Юго-Западный административный округ,район Северное Бутово,Платная,6,60 208 | Юго-Западный административный округ,район Тёплый Стан,Бесплатная,4,36 209 | Юго-Западный административный округ,район Тёплый Стан,Платная,4,25 210 | Юго-Западный административный округ,район Черёмушки,Бесплатная,3,20 211 | Юго-Западный административный округ,район Черёмушки,Платная,2,20 212 | Юго-Западный административный округ,район Южное Бутово,Бесплатная,4,36 213 | Юго-Западный административный округ,район Южное Бутово,Платная,10,92 214 | Юго-Западный административный округ,район Ясенево,Бесплатная,9,66 215 | Юго-Западный административный округ,район Ясенево,Платная,4,38 216 | Южный административный округ,Даниловский район,Бесплатная,2,11 217 | Южный административный округ,Даниловский район,Платная,3,21 218 | Южный административный округ,Донской район,Бесплатная,3,26 219 | Южный административный округ,Донской район,Платная,3,12 220 | Южный административный округ,Мещанский район,Платная,1,8 221 | Южный административный округ,Нагорный район,Бесплатная,3,30 222 | Южный административный округ,Нагорный район,Платная,6,42 223 | Южный административный округ,район Бирюлёво Восточное,Бесплатная,5,50 224 | Южный административный округ,район Бирюлёво Восточное,Платная,10,90 225 | Южный административный округ,район Бирюлёво Западное,Бесплатная,1,10 226 | Южный административный округ,район Бирюлёво Западное,Платная,2,18 227 | Южный административный округ,район Братеево,Бесплатная,3,17 228 | Южный административный округ,район Братеево,Платная,3,30 229 | Южный административный округ,район Зябликово,Бесплатная,4,40 230 | Южный административный округ,район Зябликово,Платная,11,98 231 | Южный административный округ,район Москворечье-Сабурово,Бесплатная,2,16 232 | Южный административный округ,район Москворечье-Сабурово,Платная,3,22 233 | Южный административный округ,район Нагатино-Садовники,Бесплатная,1,10 234 | Южный административный округ,район Нагатино-Садовники,Платная,8,78 235 | Южный административный округ,район Нагатинский Затон,Бесплатная,6,45 236 | Южный административный округ,район Нагатинский Затон,Платная,2,20 237 | Южный административный округ,район Орехово-Борисово Северное,Бесплатная,2,20 238 | Южный административный округ,район Орехово-Борисово Северное,Платная,8,76 239 | Южный административный округ,район Орехово-Борисово Южное,Бесплатная,7,66 240 | Южный административный округ,район Орехово-Борисово Южное,Платная,10,85 241 | Южный административный округ,район Царицыно,Бесплатная,6,56 242 | Южный административный округ,район Царицыно,Платная,4,38 243 | Южный административный округ,район Чертаново Северное,Бесплатная,6,58 244 | Южный административный округ,район Чертаново Северное,Платная,2,20 245 | Южный административный округ,район Чертаново Центральное,Бесплатная,7,68 246 | Южный административный округ,район Чертаново Центральное,Платная,3,21 247 | Южный административный округ,район Чертаново Южное,Бесплатная,9,86 248 | Южный административный округ,район Чертаново Южное,Платная,4,36 249 | -------------------------------------------------------------------------------- /Data_6.1/Задача_1.csv: -------------------------------------------------------------------------------- 1 | ,,0,1,2,3,4 2 | Группа 1,Альфа,0.0,0.0,0.0,0.0,0.0 3 | Группа 1,Бета,0.0,0.0,0.0,0.0,0.0 4 | Группа 2,Альфа,0.0,0.0,0.0,0.0,0.0 5 | Группа 2,Бета,0.0,0.0,0.0,0.0,0.0 6 | -------------------------------------------------------------------------------- /Data_6.2/ДЗ - Действия с мультииндексами в датафреймах.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "id": "d6fbe9b7", 6 | "metadata": {}, 7 | "source": [ 8 | "# Домашнее задание \n", 9 | "# Тема: Действия с мультииндексами в датафреймах" 10 | ] 11 | }, 12 | { 13 | "cell_type": "code", 14 | "execution_count": null, 15 | "id": "dc679223", 16 | "metadata": {}, 17 | "outputs": [], 18 | "source": [ 19 | "import pandas as pd\n", 20 | "import numpy as np" 21 | ] 22 | }, 23 | { 24 | "cell_type": "markdown", 25 | "id": "5f2207ef", 26 | "metadata": {}, 27 | "source": [ 28 | "## Задание 1\n", 29 | "### Постройте датафрейм заполненный нулями так, как это показано в ячейке ниже. Первые две колонки являются мультииндексом. Для заполнения датафрейма нулями воспользуйтесь функцией zeros из библиотеки numpy" 30 | ] 31 | }, 32 | { 33 | "cell_type": "raw", 34 | "id": "eba7e651", 35 | "metadata": {}, 36 | "source": [ 37 | " Владивосток Казань Новосибирск \n", 38 | " Кол-во Сумма Сумма Кол-во Сумма\n", 39 | "Группа 1 Альфа 0.0 0.0 0.0 0.0 0.0\n", 40 | " Бета 0.0 0.0 0.0 0.0 0.0\n", 41 | "Группа 2 Альфа 0.0 0.0 0.0 0.0 0.0\n", 42 | " Бета 0.0 0.0 0.0 0.0 0.0" 43 | ] 44 | }, 45 | { 46 | "cell_type": "code", 47 | "execution_count": null, 48 | "id": "597df007", 49 | "metadata": {}, 50 | "outputs": [], 51 | "source": [ 52 | "df1_result = ......" 53 | ] 54 | }, 55 | { 56 | "cell_type": "markdown", 57 | "id": "5ad1fb4f", 58 | "metadata": {}, 59 | "source": [ 60 | "### Получившийся датафрейм сохраните в csv файл и загрузите на степик" 61 | ] 62 | }, 63 | { 64 | "cell_type": "code", 65 | "execution_count": null, 66 | "id": "4ace8f35", 67 | "metadata": {}, 68 | "outputs": [], 69 | "source": [ 70 | "df1_result.to_csv('df1_result.csv')" 71 | ] 72 | }, 73 | { 74 | "cell_type": "markdown", 75 | "id": "540e7c33", 76 | "metadata": {}, 77 | "source": [ 78 | "## Задание 2\n", 79 | "### Загрузите датафрейм из файла task5.csv. Поменяйте местами уровни так чтобы сначала шел тип парковки (платная/бесплатная), затем округ и район. Отсортируйте так чтобы сначала шли бесплатные парковки в алфавитном порядке по округу, а внутри округа в алфавитном порядке по району*. \n", 80 | "\n", 81 | "#### *Некоторые названия районов записаны наоборот: вместо район Нижегородский записано Нижегородский район. Из-за этого сортировка по алфавиту будет идти не совсем так, как вы ожидали. Оставим результат сортировки по алфавиту как есть (переносить слово район для корректной сортировки не будем)." 82 | ] 83 | }, 84 | { 85 | "cell_type": "code", 86 | "execution_count": null, 87 | "id": "febbb79e", 88 | "metadata": {}, 89 | "outputs": [], 90 | "source": [ 91 | "df2_task = pd.read_csv('task5.csv', index_col=[0, 1, 2], header=[0, 1]) # не редактируйте ячейку" 92 | ] 93 | }, 94 | { 95 | "cell_type": "code", 96 | "execution_count": null, 97 | "id": "b7d9bdc8", 98 | "metadata": {}, 99 | "outputs": [], 100 | "source": [ 101 | "df2_task" 102 | ] 103 | }, 104 | { 105 | "cell_type": "markdown", 106 | "id": "005706a7", 107 | "metadata": {}, 108 | "source": [ 109 | "#### Обратите внимание, наш датафрейм немного усложнился: у мультииндекса строк пропали названия для уровней (добавлять их не стоит) и появился мультииндекс для колонок. Теперь в датафрейме содержится дополнительная информация о рейтинге парковки: маинимальное, максимальное и среднее значение" 110 | ] 111 | }, 112 | { 113 | "cell_type": "code", 114 | "execution_count": null, 115 | "id": "a42fa133", 116 | "metadata": {}, 117 | "outputs": [], 118 | "source": [ 119 | "df2_result = ......." 120 | ] 121 | }, 122 | { 123 | "cell_type": "code", 124 | "execution_count": null, 125 | "id": "6309626e", 126 | "metadata": {}, 127 | "outputs": [], 128 | "source": [] 129 | }, 130 | { 131 | "cell_type": "code", 132 | "execution_count": null, 133 | "id": "267de3ed", 134 | "metadata": {}, 135 | "outputs": [], 136 | "source": [] 137 | }, 138 | { 139 | "cell_type": "code", 140 | "execution_count": null, 141 | "id": "e8472f09", 142 | "metadata": {}, 143 | "outputs": [], 144 | "source": [] 145 | }, 146 | { 147 | "cell_type": "code", 148 | "execution_count": null, 149 | "id": "3512f141", 150 | "metadata": {}, 151 | "outputs": [], 152 | "source": [] 153 | }, 154 | { 155 | "cell_type": "markdown", 156 | "id": "79f38768", 157 | "metadata": {}, 158 | "source": [ 159 | "### Сохраните на степик только первые 27 записей датафрейма." 160 | ] 161 | }, 162 | { 163 | "cell_type": "code", 164 | "execution_count": null, 165 | "id": "ecc85efb", 166 | "metadata": {}, 167 | "outputs": [], 168 | "source": [ 169 | "df2_result.to_csv('df2_result.csv')" 170 | ] 171 | }, 172 | { 173 | "cell_type": "markdown", 174 | "id": "765d5496", 175 | "metadata": {}, 176 | "source": [ 177 | "## Задание 3\n", 178 | "### Загрузите датафрейм из файла task5.csv. Из мультииндекса строк сбросьте уровень в котором содержится информация о типе парковки. Сохраните данные из этого уровня в отдельную колонку под названием `type`. Из целого датафрейма вырезаем только данные о рейтинге, сортируем записи по среднему рейтингу в порядке убывания и загружаем на степик ТОП-10 записей." 179 | ] 180 | }, 181 | { 182 | "cell_type": "code", 183 | "execution_count": null, 184 | "id": "c27fc112", 185 | "metadata": {}, 186 | "outputs": [], 187 | "source": [ 188 | "df3_task = pd.read_csv('task5.csv', index_col=[0, 1, 2], header=[0, 1]) # не редактируйте ячейку" 189 | ] 190 | }, 191 | { 192 | "cell_type": "code", 193 | "execution_count": null, 194 | "id": "dfc73800", 195 | "metadata": {}, 196 | "outputs": [], 197 | "source": [ 198 | "df3_task" 199 | ] 200 | }, 201 | { 202 | "cell_type": "code", 203 | "execution_count": null, 204 | "id": "f292fe2f", 205 | "metadata": {}, 206 | "outputs": [], 207 | "source": [ 208 | "df2_result = ......" 209 | ] 210 | }, 211 | { 212 | "cell_type": "code", 213 | "execution_count": null, 214 | "id": "7ba7bf05", 215 | "metadata": {}, 216 | "outputs": [], 217 | "source": [] 218 | }, 219 | { 220 | "cell_type": "code", 221 | "execution_count": null, 222 | "id": "792c5de5", 223 | "metadata": {}, 224 | "outputs": [], 225 | "source": [] 226 | }, 227 | { 228 | "cell_type": "markdown", 229 | "id": "24d3400a", 230 | "metadata": {}, 231 | "source": [ 232 | "### Сохраните и отправьте файл на степик." 233 | ] 234 | }, 235 | { 236 | "cell_type": "code", 237 | "execution_count": null, 238 | "id": "4a07d133", 239 | "metadata": {}, 240 | "outputs": [], 241 | "source": [ 242 | "df2_result.to_csv('df3_result.csv')" 243 | ] 244 | }, 245 | { 246 | "cell_type": "markdown", 247 | "id": "48151c55", 248 | "metadata": {}, 249 | "source": [ 250 | "## Задание 4 \n", 251 | "### В одном из прошлых заданий мы выбирали все районы восточного административного округа и искали где больше всего мест на бесплатных парковках. Загрузите датафрейм из файла task5.csv и попробуйте найти в каком округе больше всего парковок (и платных и бесплатных вместе). Учитывайте только те районы, где средний рейтинг парковок больше или равен 5 " 252 | ] 253 | }, 254 | { 255 | "cell_type": "code", 256 | "execution_count": null, 257 | "id": "16931648", 258 | "metadata": {}, 259 | "outputs": [], 260 | "source": [ 261 | "df4_task = pd.read_csv('task5.csv', index_col=[0, 1, 2], header=[0, 1]) # не редактируйте ячейку" 262 | ] 263 | }, 264 | { 265 | "cell_type": "code", 266 | "execution_count": null, 267 | "id": "24ce6f3e", 268 | "metadata": {}, 269 | "outputs": [], 270 | "source": [ 271 | "df4_task" 272 | ] 273 | }, 274 | { 275 | "cell_type": "code", 276 | "execution_count": null, 277 | "id": "4821a251", 278 | "metadata": {}, 279 | "outputs": [], 280 | "source": [] 281 | }, 282 | { 283 | "cell_type": "code", 284 | "execution_count": null, 285 | "id": "b71c1377", 286 | "metadata": {}, 287 | "outputs": [], 288 | "source": [] 289 | }, 290 | { 291 | "cell_type": "code", 292 | "execution_count": null, 293 | "id": "1ca9454e", 294 | "metadata": {}, 295 | "outputs": [], 296 | "source": [] 297 | }, 298 | { 299 | "cell_type": "code", 300 | "execution_count": null, 301 | "id": "3b070e20", 302 | "metadata": {}, 303 | "outputs": [], 304 | "source": [] 305 | }, 306 | { 307 | "cell_type": "markdown", 308 | "id": "e818ec13", 309 | "metadata": {}, 310 | "source": [ 311 | "### Правильный ответ выберите на степике" 312 | ] 313 | }, 314 | { 315 | "cell_type": "markdown", 316 | "id": "416c0644", 317 | "metadata": {}, 318 | "source": [ 319 | "## Задание 5\n", 320 | "### Загрузите датафрейм из файла task5.csv. В этой задаче вы попробуете перейти от мультииндекса к обычному индексу с сохранением информации об уровнях. Сейчас на нулевом уровне колонки разбиваются на Capacity и rating, а на первом уровне Capacity и rating детализируются на count/sum и min/max/mean соответственно.\n", 321 | "### Попытайтесь уйти от иерархии с сохранением информации о ней: сделайте обычный индекс с названием колонок:\n", 322 | "#### Capacity_count, Capacity_sum, rating_min, rating_max, rating_mean\n", 323 | "\n", 324 | "#### Не пытайтесь руками составить список и присвоить его т.к. на практике у вас может быть много колонок и руками перебирать будет долго. А еще можно что-то перепутать и тогда будет ошибка в последующих расчётах. Попробуйте перебрать значения мультииндекса в цикле и собрать тот самый список, который уже и присвоите обратно в датафрейм" 325 | ] 326 | }, 327 | { 328 | "cell_type": "code", 329 | "execution_count": null, 330 | "id": "04e46847", 331 | "metadata": {}, 332 | "outputs": [], 333 | "source": [ 334 | "df5_task = pd.read_csv('task5.csv', index_col=[0, 1, 2], header=[0, 1]) # не редактируйте ячейку" 335 | ] 336 | }, 337 | { 338 | "cell_type": "code", 339 | "execution_count": null, 340 | "id": "27db25dd", 341 | "metadata": {}, 342 | "outputs": [], 343 | "source": [ 344 | "df5_task" 345 | ] 346 | }, 347 | { 348 | "cell_type": "code", 349 | "execution_count": null, 350 | "id": "d514c66a", 351 | "metadata": {}, 352 | "outputs": [], 353 | "source": [ 354 | "df5_result = ......" 355 | ] 356 | }, 357 | { 358 | "cell_type": "code", 359 | "execution_count": null, 360 | "id": "d3c947c5", 361 | "metadata": {}, 362 | "outputs": [], 363 | "source": [] 364 | }, 365 | { 366 | "cell_type": "code", 367 | "execution_count": null, 368 | "id": "f1f25c72", 369 | "metadata": {}, 370 | "outputs": [], 371 | "source": [] 372 | }, 373 | { 374 | "cell_type": "markdown", 375 | "id": "a8dc546f", 376 | "metadata": {}, 377 | "source": [ 378 | "### Сохраните и отправьте файл на степик." 379 | ] 380 | }, 381 | { 382 | "cell_type": "code", 383 | "execution_count": null, 384 | "id": "5bed5409", 385 | "metadata": {}, 386 | "outputs": [], 387 | "source": [ 388 | "df5_result.to_csv('df5_result.csv')" 389 | ] 390 | }, 391 | { 392 | "cell_type": "markdown", 393 | "id": "fd268435", 394 | "metadata": {}, 395 | "source": [ 396 | "## Задача 6\n", 397 | "### Загрузите данные из task5.csv. По всей Москве рассчитайте:\n", 398 | "### -Общее количество бесплатных парковок,\n", 399 | "### -Общее количество платных парковок,\n", 400 | "### -Общее количество мест на бесплатных парковках,\n", 401 | "### -Общее количество мест на платных парковках\n", 402 | "\n", 403 | "### Введите в поле с ответом получившиеся значения через пробел. В ответе должны быть целые числа\n", 404 | "### Пример: 10 12 90 110" 405 | ] 406 | }, 407 | { 408 | "cell_type": "code", 409 | "execution_count": null, 410 | "id": "4deb7e9e", 411 | "metadata": {}, 412 | "outputs": [], 413 | "source": [ 414 | "df6_task = pd.read_csv('task5.csv', index_col=[0, 1, 2], header=[0, 1]) " 415 | ] 416 | }, 417 | { 418 | "cell_type": "code", 419 | "execution_count": null, 420 | "id": "4a256c7e", 421 | "metadata": {}, 422 | "outputs": [], 423 | "source": [ 424 | "df6_task" 425 | ] 426 | }, 427 | { 428 | "cell_type": "code", 429 | "execution_count": null, 430 | "id": "ea8d7175", 431 | "metadata": {}, 432 | "outputs": [], 433 | "source": [] 434 | }, 435 | { 436 | "cell_type": "code", 437 | "execution_count": null, 438 | "id": "fac4c2ef", 439 | "metadata": {}, 440 | "outputs": [], 441 | "source": [] 442 | }, 443 | { 444 | "cell_type": "code", 445 | "execution_count": null, 446 | "id": "38cd4643", 447 | "metadata": {}, 448 | "outputs": [], 449 | "source": [] 450 | }, 451 | { 452 | "cell_type": "code", 453 | "execution_count": null, 454 | "id": "f8e1befb", 455 | "metadata": {}, 456 | "outputs": [], 457 | "source": [] 458 | }, 459 | { 460 | "cell_type": "code", 461 | "execution_count": null, 462 | "id": "b5a619d8", 463 | "metadata": {}, 464 | "outputs": [], 465 | "source": [] 466 | } 467 | ], 468 | "metadata": { 469 | "kernelspec": { 470 | "display_name": "Python 3 (ipykernel)", 471 | "language": "python", 472 | "name": "python3" 473 | }, 474 | "language_info": { 475 | "codemirror_mode": { 476 | "name": "ipython", 477 | "version": 3 478 | }, 479 | "file_extension": ".py", 480 | "mimetype": "text/x-python", 481 | "name": "python", 482 | "nbconvert_exporter": "python", 483 | "pygments_lexer": "ipython3", 484 | "version": "3.9.12" 485 | } 486 | }, 487 | "nbformat": 4, 488 | "nbformat_minor": 5 489 | } 490 | -------------------------------------------------------------------------------- /Image/photo_2023-02-10_18-30-47.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TaliyIvanov/Pandas-Numpy/846f5888f9331effb4544aa1adba72bb9dbd162e/Image/photo_2023-02-10_18-30-47.jpg -------------------------------------------------------------------------------- /Image/photo_2023-02-10_18-30-58.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TaliyIvanov/Pandas-Numpy/846f5888f9331effb4544aa1adba72bb9dbd162e/Image/photo_2023-02-10_18-30-58.jpg -------------------------------------------------------------------------------- /Image/photo_2023-02-10_18-31-11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TaliyIvanov/Pandas-Numpy/846f5888f9331effb4544aa1adba72bb9dbd162e/Image/photo_2023-02-10_18-31-11.jpg -------------------------------------------------------------------------------- /Image/photo_2023-02-10_18-33-04.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TaliyIvanov/Pandas-Numpy/846f5888f9331effb4544aa1adba72bb9dbd162e/Image/photo_2023-02-10_18-33-04.jpg -------------------------------------------------------------------------------- /LearningMaterials/15_pandas_functions (2).pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TaliyIvanov/Pandas-Numpy/846f5888f9331effb4544aa1adba72bb9dbd162e/LearningMaterials/15_pandas_functions (2).pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Курс Pandas and Numpy 2 | Здесь я буду выкладывать свое прохождение данного курса, решения задач. А так же, важные, по моему мнению, ссылки на различные учебные материалы, которые пригодятся мне в будущем. По мере изучаения GitHub возможно буду вести здесь свой конспект лекций. 3 | 4 | **Полезные ссылки:** 5 | 6 | - Официальная документация Numpy: https://numpy.org/doc/stable/user/index.html#user 7 | - Официальная документация Pandas: https://pandas.pydata.org/pandas-docs/stable/user_guide/10min.html 8 | 9 | 10 | Книгу советует автор курса: 11 | @Илья_Обрывин, привет! Есть книга, она про культуру работы с данными. Автор рассказывает о распространенных проблемах и подходах и к их решению: 12 | *Работа с данными в любой сфере. Как выйти на новый уровень, используя аналитику | Еременко Кирилл* 13 | Там нет питона и пандаса. Она поможет думать правильно о данных: их готовить и презентовать. 14 | -------------------------------------------------------------------------------- /Step.4.3_df.csv: -------------------------------------------------------------------------------- 1 | ,surname,name,tarif,balance,age,sms,voice,city,phone 2 | 0,Girev,Andrey,ВИП,2815,29,58,6358,Moscow,Xiaomi 3 | 1,Bykin,Stas,Все за 300,3634,37,78,602,Kazan,Samsung 4 | 2,Ivanov,Alex,Всё за 800,410,47,81,3582,Moscow,Huawei 5 | 3,Andreev,Sergey,Всё за 500,1981,75,98,5442,Kazan,Apple 6 | 4,Girev,Stas,Всё за 800,4969,43,61,8510,Moscow,Samsung 7 | 5,Bykin,Andrey,Всё за 500,4308,49,39,2525,Moscow,Xiaomi 8 | 6,Kozlov,Igor,Всё за 800,300,60,31,8543,Yakutsk,Samsung 9 | 7,Girev,Alex,Промо,4199,47,90,3925,Kazan,Apple 10 | 8,Petrov,Nikolay,ВИП,4810,72,88,7188,Moscow,Apple 11 | 9,Andreev,Sergey,Всё за 800,4118,52,53,419,Yakutsk,Apple 12 | 10,Smolov,Stas,Промо,1991,28,67,5016,Kazan,Xiaomi 13 | 11,Girev,Igor,Корпоративный,1430,69,19,9520,Yakutsk,Samsung 14 | 12,Kozlov,Andrey,Корпоративный,113,71,82,2785,Kazan,Apple 15 | 13,Ivanov,Sergey,Промо,3394,39,12,2718,Yakutsk,Xiaomi 16 | 14,Smolov,Sergey,Всё за 250 (архив),3493,32,6,8959,Yakutsk,Huawei 17 | 15,Kozlov,Stas,Всё за 800,4565,59,82,3168,Moscow,Apple 18 | 16,Vlasov,Andrey,Всё за 800,3192,29,74,2852,Yakutsk,Xiaomi 19 | 17,Smolov,Alex,Корпоративный,3764,71,22,2768,Moscow,Huawei 20 | 18,Vlasov,Sergey,Всё за 800,3816,28,35,5734,Vladivostok,Apple 21 | 19,Bykin,Alex,Промо,817,65,34,2131,Vladivostok,Samsung 22 | 20,Andreev,Nikolay,Всё за 500,385,49,62,1815,Kazan,Xiaomi 23 | 21,Bykin,Igor,Всё за 500,2642,38,11,3787,Moscow,Xiaomi 24 | 22,Girev,Sergey,Все за 300,4230,62,68,5512,Vladivostok,Samsung 25 | 23,Bykin,Sergey,Всё за 800,4100,48,39,227,Moscow,Xiaomi 26 | 24,Girev,Stas,Все за 300,3371,53,24,7946,Kazan,Apple 27 | 25,Smolov,Sergey,Корпоративный,3577,70,71,8847,Yakutsk,Huawei 28 | 26,Mezov,Nikolay,Всё за 250 (архив),2742,28,19,7115,Yakutsk,Huawei 29 | 27,Smolov,Stas,Всё за 500,2644,41,33,8341,Moscow,Xiaomi 30 | 28,Vlasov,Andrey,Всё за 500,4725,26,93,9441,Vladivostok,Xiaomi 31 | 29,Ivanov,Nikolay,Всё за 500,2785,41,5,2901,Moscow,Samsung 32 | -------------------------------------------------------------------------------- /Step.4.4_Задача2.json: -------------------------------------------------------------------------------- 1 | {"username":{"0":"lambertemma","1":"greid","2":"scottmercado","3":"kristin75","4":"lhansen","5":"huertaanthony","6":"ecox","7":"cmartinez","8":"markhall","9":"floresdenise","10":"westerin","11":"mmorales","12":"stephanie24","13":"zswanson","14":"jaimeleach","15":"gary09","16":"johnperez","17":"hollyrussell","18":"guerrerosteven","19":"cheryl66","20":"jamesperry","21":"madison37","22":"xbeck","23":"lopezalbert","24":"suzanne85","25":"gregory31","26":"johnsimmons","27":"angela88","28":"hsimmons","29":"jeremy49","30":"gregory97","31":"ksullivan","32":"parksjoshua","33":"ifletcher","34":"kristine85","35":"craigrodriguez","36":"xrice","37":"louisgentry","38":"katherine90","39":"hobbsstephanie","40":"perezstacie","41":"allenmelanie","42":"sandra34","43":"kristinpatterson","44":"shelbyvilla","45":"zwood","46":"miguelfields","47":"gruiz","48":"iancunningham","49":"vmason","50":"samantha86","51":"charlescampbell","52":"mark84","53":"jfrost","54":"justindavis","55":"victoria22","56":"butleralexandra","57":"tonyapetersen","58":"vincentkyle","59":"steven90","60":"riveranicholas","61":"trevorfrench","62":"mooneyphillip","63":"wcox","64":"crystal28","65":"alexanderstephanie","66":"kimberly10","67":"laurensims","68":"david23","69":"clarkgerald","70":"toddgarrison","71":"gonzalessheila","72":"bsullivan","73":"ashley20","74":"stacy63","75":"pbrown","76":"lopezkayla","77":"jenkinsmiguel","78":"karen55","79":"jasongonzalez","80":"emily52","81":"marysmith","82":"rosstara","83":"fieldsnichole","84":"kimberlythomas","85":"brooksmichael","86":"jmartin","87":"yhaney","88":"carolyoung","89":"spenceradam","90":"juanbauer","91":"albert66","92":"hjones","93":"rita84","94":"clairemosley","95":"rodriguezerica","96":"qfrazier","97":"dblankenship","98":"chadkelly","99":"espinozaconnie","100":"bwatkins","101":"samanthaford","102":"robertrobinson","103":"mary26","104":"anthony12","105":"tjohnson","106":"davidreeves","107":"frankjimenez","108":"wrightmelinda","109":"justinmoss","110":"ejohnson","111":"woodian","112":"owenedward","113":"tiffanyarnold","114":"eric09","115":"zdominguez","116":"youngjeff","117":"haneyroger","118":"gstewart","119":"maria58","120":"icameron","121":"patricksandoval","122":"sarahwhite","123":"powellamanda","124":"kjones","125":"phillipjohnson","126":"beth88","127":"vanessa63","128":"shermanjustin","129":"michellewright","130":"ipittman","131":"murrayjorge","132":"randy96","133":"margaret79","134":"alexandria94","135":"williamslaura","136":"higginsdevin","137":"robinsondiana","138":"robert00","139":"nicholasmooney","140":"nhernandez","141":"jennifercruz","142":"goodmanrachel","143":"kelleydeborah","144":"laurenmoss","145":"vbush","146":"ashleyfranklin","147":"scottwilliamson","148":"zreed","149":"steven09","150":"hickswanda","151":"angelduffy","152":"crystalnunez","153":"fernandezrichard","154":"johnscott","155":"xjoyce","156":"christine82","157":"brianwood","158":"jamesmegan","159":"amy74","160":"jenningsloretta","161":"ohoffman","162":"jgarner","163":"monicacarr","164":"beth04","165":"molinachristopher","166":"kwebb","167":"james76","168":"aaronharvey","169":"hoganjonathan","170":"nwalton","171":"nathanrosales","172":"tpearson","173":"adriana64","174":"lee85","175":"jacqueline92","176":"matthew56","177":"kramirez","178":"zcarter","179":"smithbeverly","180":"wallsjohn","181":"jacob18","182":"emclaughlin","183":"sclark","184":"peggy79","185":"nicholasrobinson","186":"ystout","187":"austin46","188":"moorekelly","189":"matthewhooper","190":"vazquezjohn","191":"william96","192":"awhitehead","193":"cynthia42","194":"justin25","195":"johnsongwendolyn","196":"elijahlittle","197":"robert89","198":"todd08","199":"joshuaforbes"},"name":{"0":"Stacy Reed","1":"Carol Farley","2":"Russell Whitaker","3":"Maureen Powers","4":"Edward Mcdonald","5":"Randall Baldwin","6":"Christine Brooks","7":"Micheal Parker","8":"Nicole Kelly","9":"Mike Johnson","10":"Marc Cruz","11":"Carla King","12":"Charles Ruiz","13":"Jason Pollard","14":"Mr. Bruce Gallegos","15":"Roger Thompson","16":"Steven Kirk","17":"Alexandra Thomas","18":"Eric Moreno","19":"Cameron Callahan","20":"Elaine Johnson","21":"Angela Miles","22":"David Young","23":"Jason Myers","24":"Alice Brown","25":"Vicki Lee","26":"Jeffrey Cook","27":"Alyssa Lang","28":"Haley Hernandez","29":"Melissa Young","30":"Stephanie Gallagher","31":"Sarah Osborne","32":"Daniel Bell","33":"Joseph Brooks","34":"Steven Lewis","35":"Jason Campbell","36":"Andres Brown","37":"Jessica Jenkins","38":"James Hobbs","39":"Michael Johnson","40":"Ricky Chambers","41":"Jill Kim","42":"Margaret Woods","43":"Carrie Bridges","44":"Kelsey Brown","45":"Joanna Wood","46":"Kelsey Shaw","47":"Matthew Marshall","48":"Donald Hoffman","49":"Carlos Cunningham","50":"Mrs. Martha Reid","51":"Adrian Moore","52":"Troy Baldwin","53":"Eric West","54":"Martin Jones","55":"Angela King","56":"Phyllis Pugh","57":"Eric Ellis","58":"Ronald Santiago","59":"Michelle Smith","60":"Nancy Turner","61":"Mrs. Shelby Bender DDS","62":"Debra Martin","63":"Savannah Nunez","64":"Carlos Davis","65":"Karen Johnson","66":"Melinda Carter","67":"Jeffrey Foster","68":"Kristen Tate","69":"William Young","70":"Melvin Taylor","71":"Nicole Allen","72":"Brittany Flynn","73":"Luis Fisher","74":"Rachel Matthews","75":"Richard Torres","76":"Nancy Baldwin","77":"Jane Walker","78":"Timothy Woods","79":"Jose Love","80":"Jennifer Smith","81":"Madison Lewis","82":"Richard Hartman DVM","83":"Valerie Moore","84":"Angela Wilson","85":"Pamela May","86":"Emily Chavez","87":"Michelle Mullins","88":"Lisa Wells","89":"Jennifer Stanley","90":"Amanda Downs","91":"Sarah Hayes","92":"Christine Holden","93":"Julie Allen","94":"April King","95":"Dustin Cook","96":"Amber Clark","97":"Stacy Hart","98":"Zachary Jenkins","99":"Melanie Rivas","100":"Heather Burnett","101":"David Thomas","102":"Melissa Williams","103":"Mark Smith","104":"Greg Alvarez","105":"Dean Sims","106":"Mr. Daniel Kennedy MD","107":"Michael Rivas","108":"Susan Jones","109":"Rodney Barnes","110":"Linda Vargas","111":"Christopher Johnston","112":"Robin Adams","113":"Jasmin Merritt","114":"David Harvey","115":"Robyn Nelson","116":"Samantha Nash","117":"Courtney Wood","118":"Kelly Simmons","119":"Ashley Phillips","120":"Brian Miller","121":"Kevin Ross","122":"Jesse Webb","123":"Ethan Decker","124":"Kristi Woodward","125":"Jeffrey Long","126":"Luis Moore","127":"Brandi Dean","128":"Tracy Oconnell","129":"Samuel Davis","130":"Tonya Thompson","131":"Justin Barrett","132":"Rachael Khan","133":"Catherine Whitaker","134":"Kimberly Hester","135":"Anna Brown","136":"Shawn Miranda","137":"Brenda Little","138":"Jeremy Torres","139":"James Martinez","140":"Joanne Hall","141":"Ryan Hayes","142":"Sydney Jimenez","143":"Stephanie Ferguson","144":"Jordan Harrison","145":"Steven George","146":"Emily Reid","147":"Yvonne Price","148":"Brian Campbell","149":"Andrew Coleman","150":"Darrell Robinson","151":"Edward Bell","152":"Angela Wagner","153":"Herbert Norris","154":"Steven Cameron","155":"Mark Moore","156":"Debra Chavez","157":"Kathleen Gay","158":"Vernon Rodgers","159":"Jeffrey Durham","160":"Derrick Watts","161":"Elizabeth Thomas","162":"Brittany Hoover","163":"Cynthia Garcia","164":"Jacob Hernandez","165":"Andrew Cox","166":"Alexander Fields","167":"Deanna Jimenez","168":"Brian Bright","169":"Sarah Brown","170":"Robert Porter","171":"Vanessa Todd","172":"Sara Knapp","173":"Lori Johnson","174":"Karen Villanueva","175":"Angelica Lindsey","176":"Yolanda Pacheco","177":"Rebecca Nelson","178":"Michael Weaver","179":"Christopher York","180":"Kevin Garcia","181":"Dennis Gross","182":"Jeremy Anderson","183":"Elizabeth Miller","184":"Jonathan Smith","185":"Megan Dennis MD","186":"Angela Williams","187":"Ms. Amy Miller","188":"Alicia Villa","189":"Jeffrey Duncan","190":"Miss Monique Newton MD","191":"James Lara","192":"Anthony Porter","193":"Craig Perez","194":"Lisa Brooks","195":"Matthew Simpson","196":"Joshua Landry","197":"Kimberly Cameron","198":"Suzanne Garner","199":"Jesus Clark"},"sex":{"0":"F","1":"F","2":"M","3":"F","4":"M","5":"M","6":"F","7":"M","8":"F","9":"M","10":"M","11":"F","12":"M","13":"M","14":"M","15":"M","16":"M","17":"F","18":"M","19":"M","20":"F","21":"F","22":"M","23":"M","24":"F","25":"F","26":"M","27":"F","28":"F","29":"F","30":"F","31":"F","32":"M","33":"M","34":"M","35":"M","36":"M","37":"F","38":"M","39":"M","40":"M","41":"F","42":"F","43":"F","44":"F","45":"F","46":"F","47":"M","48":"M","49":"M","50":"F","51":"M","52":"M","53":"M","54":"M","55":"F","56":"F","57":"M","58":"M","59":"F","60":"F","61":"F","62":"F","63":"F","64":"M","65":"F","66":"F","67":"M","68":"F","69":"M","70":"M","71":"F","72":"F","73":"M","74":"F","75":"M","76":"F","77":"F","78":"M","79":"M","80":"F","81":"F","82":"M","83":"F","84":"F","85":"F","86":"F","87":"F","88":"F","89":"F","90":"F","91":"F","92":"F","93":"F","94":"F","95":"M","96":"F","97":"F","98":"M","99":"F","100":"F","101":"M","102":"F","103":"M","104":"M","105":"M","106":"M","107":"M","108":"F","109":"M","110":"F","111":"M","112":"F","113":"F","114":"M","115":"F","116":"F","117":"F","118":"F","119":"F","120":"M","121":"M","122":"M","123":"M","124":"F","125":"M","126":"M","127":"F","128":"F","129":"M","130":"F","131":"M","132":"F","133":"F","134":"F","135":"F","136":"M","137":"F","138":"M","139":"M","140":"F","141":"M","142":"F","143":"F","144":"M","145":"M","146":"F","147":"F","148":"M","149":"M","150":"M","151":"M","152":"F","153":"M","154":"M","155":"M","156":"F","157":"F","158":"M","159":"M","160":"M","161":"F","162":"F","163":"F","164":"M","165":"M","166":"M","167":"F","168":"M","169":"F","170":"M","171":"F","172":"F","173":"F","174":"F","175":"F","176":"F","177":"F","178":"M","179":"M","180":"M","181":"M","182":"M","183":"F","184":"M","185":"F","186":"F","187":"F","188":"F","189":"M","190":"F","191":"M","192":"M","193":"M","194":"F","195":"M","196":"M","197":"F","198":"F","199":"M"}} -------------------------------------------------------------------------------- /Step_2.14_Функции permutation и shuffle. Сохранение массива в файл.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "id": "97e77bed", 7 | "metadata": {}, 8 | "outputs": [], 9 | "source": [ 10 | "import numpy as np" 11 | ] 12 | }, 13 | { 14 | "cell_type": "code", 15 | "execution_count": 2, 16 | "id": "8ee0da87", 17 | "metadata": {}, 18 | "outputs": [ 19 | { 20 | "data": { 21 | "text/plain": [ 22 | "array([0, 4, 8, 1, 1, 4, 2, 4, 1, 5])" 23 | ] 24 | }, 25 | "execution_count": 2, 26 | "metadata": {}, 27 | "output_type": "execute_result" 28 | } 29 | ], 30 | "source": [ 31 | "np.random.randint(0, 10, size= 10)" 32 | ] 33 | }, 34 | { 35 | "cell_type": "code", 36 | "execution_count": null, 37 | "id": "3d2d2467", 38 | "metadata": {}, 39 | "outputs": [], 40 | "source": [ 41 | "#Допустим мы хотим получить массив. чтобы гарантировано каждый элементы был создан 1 раз" 42 | ] 43 | }, 44 | { 45 | "cell_type": "code", 46 | "execution_count": 7, 47 | "id": "4df53623", 48 | "metadata": {}, 49 | "outputs": [ 50 | { 51 | "data": { 52 | "text/plain": [ 53 | "array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])" 54 | ] 55 | }, 56 | "execution_count": 7, 57 | "metadata": {}, 58 | "output_type": "execute_result" 59 | } 60 | ], 61 | "source": [ 62 | "#Простой массив, который мы хотели бы перемешать\n", 63 | "m1 = np.arange(10)\n", 64 | "m1" 65 | ] 66 | }, 67 | { 68 | "cell_type": "code", 69 | "execution_count": 5, 70 | "id": "13130d9f", 71 | "metadata": {}, 72 | "outputs": [ 73 | { 74 | "data": { 75 | "text/plain": [ 76 | "array([1, 8, 7, 0, 9, 4, 2, 5, 3, 6])" 77 | ] 78 | }, 79 | "execution_count": 5, 80 | "metadata": {}, 81 | "output_type": "execute_result" 82 | } 83 | ], 84 | "source": [ 85 | "#Данная функция генерирует для нас массив, а затем перемешивает его\n", 86 | "np.random.permutation(10)" 87 | ] 88 | }, 89 | { 90 | "cell_type": "code", 91 | "execution_count": 9, 92 | "id": "bcb569e5", 93 | "metadata": {}, 94 | "outputs": [ 95 | { 96 | "data": { 97 | "text/plain": [ 98 | "array([4, 2, 5, 8, 6, 7, 0, 9, 3, 1])" 99 | ] 100 | }, 101 | "execution_count": 9, 102 | "metadata": {}, 103 | "output_type": "execute_result" 104 | } 105 | ], 106 | "source": [ 107 | "#Что если, нам необходимо перемешать готовый массив\n", 108 | "#Данная функция ничего не возвращает, она меняет последовательность эл-ов в исходном массиве\n", 109 | "np.random.shuffle(m1)\n", 110 | "m1" 111 | ] 112 | }, 113 | { 114 | "cell_type": "code", 115 | "execution_count": 10, 116 | "id": "1936634f", 117 | "metadata": {}, 118 | "outputs": [ 119 | { 120 | "data": { 121 | "text/plain": [ 122 | "array([-0.4006988 , 0.41916956, 0.37794302, 0.35190651, 0.3795758 ,\n", 123 | " 1.0648061 , 1.33714709, 1.77096803, -0.08398946, 0.55392703])" 124 | ] 125 | }, 126 | "execution_count": 10, 127 | "metadata": {}, 128 | "output_type": "execute_result" 129 | } 130 | ], 131 | "source": [ 132 | "#Сгенерируем массив со значениями типа float()\n", 133 | "np.random.randn(10)" 134 | ] 135 | }, 136 | { 137 | "cell_type": "markdown", 138 | "id": "8840f155", 139 | "metadata": {}, 140 | "source": [ 141 | "Пояснения про функцию np.random.randn() неудачные. Раз np.random.randn() генерирует нормально распределённые случайные значения, значит есть ненулевая вероятность получить произвольно большое или произвольно малое число, т.е. любое число на действительной оси. Поэтому предложение \"прибавить единицу или прибавить двойку\", хотя и сработало в данном случае, на видео, совершенно запросто может не сработать. Поэтому для генерации случайных чисел с плавающей точкой удобнее пользоваться функцией np.random.rand(), которая генерирует равномерно распределённые случайные величины больше либо равные 0, и строго меньшие чем 1" 142 | ] 143 | }, 144 | { 145 | "cell_type": "code", 146 | "execution_count": 11, 147 | "id": "403b622f", 148 | "metadata": {}, 149 | "outputs": [ 150 | { 151 | "data": { 152 | "text/plain": [ 153 | "array([[-0.52406178, 1.22711039, 1.99577702, 0.53423668, 1.39337756],\n", 154 | " [-0.35436891, 0.76666152, 1.81681273, -1.41520767, -0.1460786 ],\n", 155 | " [-0.07812421, 0.02407406, 1.52390221, -0.85958381, -1.18307535]])" 156 | ] 157 | }, 158 | "execution_count": 11, 159 | "metadata": {}, 160 | "output_type": "execute_result" 161 | } 162 | ], 163 | "source": [ 164 | "#Для генерация двумерного массива необходимо передать два значения\n", 165 | "np.random.randn(3,5)" 166 | ] 167 | }, 168 | { 169 | "cell_type": "markdown", 170 | "id": "64bbe276", 171 | "metadata": {}, 172 | "source": [ 173 | "#### Сохранение массива, функция np.save()\n", 174 | "Для этого нам необходимо передать первому аргументы функции название файла, а второму аргументу - массив" 175 | ] 176 | }, 177 | { 178 | "cell_type": "code", 179 | "execution_count": 12, 180 | "id": "b8f1fdf2", 181 | "metadata": {}, 182 | "outputs": [ 183 | { 184 | "data": { 185 | "text/plain": [ 186 | "array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])" 187 | ] 188 | }, 189 | "execution_count": 12, 190 | "metadata": {}, 191 | "output_type": "execute_result" 192 | } 193 | ], 194 | "source": [ 195 | "m1 = np.arange(10)\n", 196 | "m1" 197 | ] 198 | }, 199 | { 200 | "cell_type": "code", 201 | "execution_count": 13, 202 | "id": "c2fd040c", 203 | "metadata": {}, 204 | "outputs": [], 205 | "source": [ 206 | "#Сохраним наш файл\n", 207 | "#Формат указывать не будем, по умолчанию он будет \".npy\"\n", 208 | "np.save('my-array', m1)" 209 | ] 210 | }, 211 | { 212 | "cell_type": "code", 213 | "execution_count": 15, 214 | "id": "5d94a7da", 215 | "metadata": {}, 216 | "outputs": [ 217 | { 218 | "data": { 219 | "text/plain": [ 220 | "array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])" 221 | ] 222 | }, 223 | "execution_count": 15, 224 | "metadata": {}, 225 | "output_type": "execute_result" 226 | } 227 | ], 228 | "source": [ 229 | "#Загрузим наш файл\n", 230 | "np.load('my-array.npy')" 231 | ] 232 | }, 233 | { 234 | "cell_type": "markdown", 235 | "id": "b897d2b1", 236 | "metadata": {}, 237 | "source": [ 238 | "Сохранение нескольких массивов в один файл" 239 | ] 240 | }, 241 | { 242 | "cell_type": "code", 243 | "execution_count": 19, 244 | "id": "ba2c7f1a", 245 | "metadata": {}, 246 | "outputs": [ 247 | { 248 | "data": { 249 | "text/plain": [ 250 | "array([4, 2, 4, 4, 4, 4, 3, 4, 2, 3, 4, 4, 4, 4, 3])" 251 | ] 252 | }, 253 | "execution_count": 19, 254 | "metadata": {}, 255 | "output_type": "execute_result" 256 | } 257 | ], 258 | "source": [ 259 | "m2 = np.random.randint(2,5, size=15)\n", 260 | "m2" 261 | ] 262 | }, 263 | { 264 | "cell_type": "code", 265 | "execution_count": 26, 266 | "id": "27c82666", 267 | "metadata": {}, 268 | "outputs": [], 269 | "source": [ 270 | "#Данная функция сохраняет массивы с расширением .npz\n", 271 | "np.savez('arrays', key1=m1, name2=m2)" 272 | ] 273 | }, 274 | { 275 | "cell_type": "code", 276 | "execution_count": 27, 277 | "id": "48785c11", 278 | "metadata": {}, 279 | "outputs": [ 280 | { 281 | "data": { 282 | "text/plain": [ 283 | "" 284 | ] 285 | }, 286 | "execution_count": 27, 287 | "metadata": {}, 288 | "output_type": "execute_result" 289 | } 290 | ], 291 | "source": [ 292 | "#При загрузке получаем абракадабру\n", 293 | "m12 = np.load('arrays.npz')\n", 294 | "m12" 295 | ] 296 | }, 297 | { 298 | "cell_type": "code", 299 | "execution_count": 28, 300 | "id": "50f745de", 301 | "metadata": {}, 302 | "outputs": [ 303 | { 304 | "data": { 305 | "text/plain": [ 306 | "array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])" 307 | ] 308 | }, 309 | "execution_count": 28, 310 | "metadata": {}, 311 | "output_type": "execute_result" 312 | } 313 | ], 314 | "source": [ 315 | "#Чтобы получить массив, нам необходимо обратиться к нему по ключу.\n", 316 | "m12['key1']" 317 | ] 318 | }, 319 | { 320 | "cell_type": "code", 321 | "execution_count": 29, 322 | "id": "d0f514f6", 323 | "metadata": {}, 324 | "outputs": [ 325 | { 326 | "data": { 327 | "text/plain": [ 328 | "array([4, 2, 4, 4, 4, 4, 3, 4, 2, 3, 4, 4, 4, 4, 3])" 329 | ] 330 | }, 331 | "execution_count": 29, 332 | "metadata": {}, 333 | "output_type": "execute_result" 334 | } 335 | ], 336 | "source": [ 337 | "m12['name2']" 338 | ] 339 | }, 340 | { 341 | "cell_type": "markdown", 342 | "id": "c37890e5", 343 | "metadata": {}, 344 | "source": [ 345 | "#### Функция savez_compressed\n", 346 | "Сохранение больших массивов со сжатием. Для экономии дискового пространства." 347 | ] 348 | }, 349 | { 350 | "cell_type": "code", 351 | "execution_count": 30, 352 | "id": "40d2b5a8", 353 | "metadata": {}, 354 | "outputs": [], 355 | "source": [ 356 | "np.savez_compressed('compressed', key1=m1,key2=m2)" 357 | ] 358 | }, 359 | { 360 | "cell_type": "code", 361 | "execution_count": 32, 362 | "id": "5d47927c", 363 | "metadata": {}, 364 | "outputs": [], 365 | "source": [ 366 | "arch = np.load('compressed.npz')" 367 | ] 368 | }, 369 | { 370 | "cell_type": "code", 371 | "execution_count": 33, 372 | "id": "ef3cad2b", 373 | "metadata": {}, 374 | "outputs": [ 375 | { 376 | "data": { 377 | "text/plain": [ 378 | "array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])" 379 | ] 380 | }, 381 | "execution_count": 33, 382 | "metadata": {}, 383 | "output_type": "execute_result" 384 | } 385 | ], 386 | "source": [ 387 | "arch['key1']" 388 | ] 389 | }, 390 | { 391 | "cell_type": "markdown", 392 | "id": "bc7ff935", 393 | "metadata": {}, 394 | "source": [ 395 | "Вообще функция np.load() очень умная, она видит расширение файла и если оно .npz, то она просто держит ссылку на этот файл. Она не грузит его сразу в память. Т.к. в нем может оказаться огромное количество массивов. Она подружает только необходимый массив, когда мы к нему обращаемся по ключу." 396 | ] 397 | } 398 | ], 399 | "metadata": { 400 | "kernelspec": { 401 | "display_name": "Python 3 (ipykernel)", 402 | "language": "python", 403 | "name": "python3" 404 | }, 405 | "language_info": { 406 | "codemirror_mode": { 407 | "name": "ipython", 408 | "version": 3 409 | }, 410 | "file_extension": ".py", 411 | "mimetype": "text/x-python", 412 | "name": "python", 413 | "nbconvert_exporter": "python", 414 | "pygments_lexer": "ipython3", 415 | "version": "3.9.12" 416 | } 417 | }, 418 | "nbformat": 4, 419 | "nbformat_minor": 5 420 | } 421 | -------------------------------------------------------------------------------- /Step_3.1_Знакомство с Series.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "id": "77a83723", 6 | "metadata": {}, 7 | "source": [ 8 | "NumPy - создавался для работы с числами.\n", 9 | "Pandas разрабатывался для работы не только с числами, но для работы с \"разнотипными данными\". При этом они взяли все лучшее от NumPy\n", 10 | "Series - это одномерный \"контейнер\" в пандас. " 11 | ] 12 | }, 13 | { 14 | "cell_type": "code", 15 | "execution_count": 33, 16 | "id": "59987c1f", 17 | "metadata": {}, 18 | "outputs": [], 19 | "source": [ 20 | "import pandas as pd\n", 21 | "import numpy as np" 22 | ] 23 | }, 24 | { 25 | "cell_type": "code", 26 | "execution_count": 7, 27 | "id": "b5ebc0f3", 28 | "metadata": {}, 29 | "outputs": [ 30 | { 31 | "data": { 32 | "text/plain": [ 33 | "'1.4.2'" 34 | ] 35 | }, 36 | "execution_count": 7, 37 | "metadata": {}, 38 | "output_type": "execute_result" 39 | } 40 | ], 41 | "source": [ 42 | "pd.__version__" 43 | ] 44 | }, 45 | { 46 | "cell_type": "code", 47 | "execution_count": 11, 48 | "id": "b8370379", 49 | "metadata": {}, 50 | "outputs": [ 51 | { 52 | "data": { 53 | "text/plain": [ 54 | "0 4\n", 55 | "1 3\n", 56 | "2 -7\n", 57 | "3 5\n", 58 | "dtype: int64" 59 | ] 60 | }, 61 | "execution_count": 11, 62 | "metadata": {}, 63 | "output_type": "execute_result" 64 | } 65 | ], 66 | "source": [ 67 | "#Левый столбец - ключи, сгенерированные автоматически\n", 68 | "#Правый столбец - наши значения\n", 69 | "#dtype - тип наших данных\n", 70 | "s1 = pd.Series([4,3,-7,5])\n", 71 | "s1" 72 | ] 73 | }, 74 | { 75 | "cell_type": "code", 76 | "execution_count": 12, 77 | "id": "889caf59", 78 | "metadata": {}, 79 | "outputs": [ 80 | { 81 | "data": { 82 | "text/plain": [ 83 | "array([ 4, 3, -7, 5], dtype=int64)" 84 | ] 85 | }, 86 | "execution_count": 12, 87 | "metadata": {}, 88 | "output_type": "execute_result" 89 | } 90 | ], 91 | "source": [ 92 | "#Получим только наши значения\n", 93 | "s1.values" 94 | ] 95 | }, 96 | { 97 | "cell_type": "code", 98 | "execution_count": 14, 99 | "id": "b9c45306", 100 | "metadata": {}, 101 | "outputs": [ 102 | { 103 | "data": { 104 | "text/plain": [ 105 | "RangeIndex(start=0, stop=4, step=1)" 106 | ] 107 | }, 108 | "execution_count": 14, 109 | "metadata": {}, 110 | "output_type": "execute_result" 111 | } 112 | ], 113 | "source": [ 114 | "#Получим только индексы\n", 115 | "s1.index" 116 | ] 117 | }, 118 | { 119 | "cell_type": "code", 120 | "execution_count": 16, 121 | "id": "d9b3b51c", 122 | "metadata": {}, 123 | "outputs": [ 124 | { 125 | "data": { 126 | "text/plain": [ 127 | "a 4\n", 128 | "b 3\n", 129 | "c -7\n", 130 | "d 5\n", 131 | "dtype: int64" 132 | ] 133 | }, 134 | "execution_count": 16, 135 | "metadata": {}, 136 | "output_type": "execute_result" 137 | } 138 | ], 139 | "source": [ 140 | "#Создадим серию с индексами, которые зададим сами\n", 141 | "s2 = pd.Series([4,3,-7,5], index=['a','b','c','d'])\n", 142 | "s2" 143 | ] 144 | }, 145 | { 146 | "cell_type": "code", 147 | "execution_count": 17, 148 | "id": "cabe0928", 149 | "metadata": {}, 150 | "outputs": [ 151 | { 152 | "data": { 153 | "text/plain": [ 154 | "Index(['a', 'b', 'c', 'd'], dtype='object')" 155 | ] 156 | }, 157 | "execution_count": 17, 158 | "metadata": {}, 159 | "output_type": "execute_result" 160 | } 161 | ], 162 | "source": [ 163 | "#Получим индексы\n", 164 | "s2.index" 165 | ] 166 | }, 167 | { 168 | "cell_type": "code", 169 | "execution_count": 52, 170 | "id": "179491ad", 171 | "metadata": {}, 172 | "outputs": [ 173 | { 174 | "data": { 175 | "text/plain": [ 176 | "7" 177 | ] 178 | }, 179 | "execution_count": 52, 180 | "metadata": {}, 181 | "output_type": "execute_result" 182 | } 183 | ], 184 | "source": [ 185 | "#Вытянем определнное значение по индексy\n", 186 | "s2['c']" 187 | ] 188 | }, 189 | { 190 | "cell_type": "code", 191 | "execution_count": 53, 192 | "id": "cd9f4da4", 193 | "metadata": {}, 194 | "outputs": [ 195 | { 196 | "data": { 197 | "text/plain": [ 198 | "a 4\n", 199 | "c 7\n", 200 | "dtype: int64" 201 | ] 202 | }, 203 | "execution_count": 53, 204 | "metadata": {}, 205 | "output_type": "execute_result" 206 | } 207 | ], 208 | "source": [ 209 | "#Несколько индексов необходимо передавать в листе! s[list('ac')]\n", 210 | "s2[list('ac')]" 211 | ] 212 | }, 213 | { 214 | "cell_type": "code", 215 | "execution_count": 20, 216 | "id": "27111360", 217 | "metadata": {}, 218 | "outputs": [ 219 | { 220 | "data": { 221 | "text/plain": [ 222 | "3" 223 | ] 224 | }, 225 | "execution_count": 20, 226 | "metadata": {}, 227 | "output_type": "execute_result" 228 | } 229 | ], 230 | "source": [ 231 | "#Тип индекса тоже важен\n", 232 | "s1[1]" 233 | ] 234 | }, 235 | { 236 | "cell_type": "code", 237 | "execution_count": 22, 238 | "id": "72543da2", 239 | "metadata": {}, 240 | "outputs": [ 241 | { 242 | "data": { 243 | "text/plain": [ 244 | "7" 245 | ] 246 | }, 247 | "execution_count": 22, 248 | "metadata": {}, 249 | "output_type": "execute_result" 250 | } 251 | ], 252 | "source": [ 253 | "#Измененим значение конкретного элемента\n", 254 | "s2['c'] = 7\n", 255 | "s2['c']" 256 | ] 257 | }, 258 | { 259 | "cell_type": "code", 260 | "execution_count": 23, 261 | "id": "8944de21", 262 | "metadata": {}, 263 | "outputs": [ 264 | { 265 | "data": { 266 | "text/plain": [ 267 | "dtype('int64')" 268 | ] 269 | }, 270 | "execution_count": 23, 271 | "metadata": {}, 272 | "output_type": "execute_result" 273 | } 274 | ], 275 | "source": [ 276 | "#Узнаем к какому типу данных принадлежат значния массива\n", 277 | "s2.values.dtype" 278 | ] 279 | }, 280 | { 281 | "cell_type": "markdown", 282 | "id": "ca93c95e", 283 | "metadata": {}, 284 | "source": [ 285 | "Step_3.1.10 - Создайте серию, которая будет содержать элементы 1, 2, 3, 4, 5. Функция должна вернуть серию." 286 | ] 287 | }, 288 | { 289 | "cell_type": "code", 290 | "execution_count": 40, 291 | "id": "338e5f29", 292 | "metadata": {}, 293 | "outputs": [], 294 | "source": [ 295 | "import pandas as pd\n", 296 | "\n", 297 | "def solution():\n", 298 | " result = pd.Series(range(1,6))\n", 299 | " return result" 300 | ] 301 | }, 302 | { 303 | "cell_type": "code", 304 | "execution_count": 41, 305 | "id": "3b24a2f0", 306 | "metadata": {}, 307 | "outputs": [ 308 | { 309 | "data": { 310 | "text/plain": [ 311 | "0 1\n", 312 | "1 2\n", 313 | "2 3\n", 314 | "3 4\n", 315 | "4 5\n", 316 | "dtype: int64" 317 | ] 318 | }, 319 | "execution_count": 41, 320 | "metadata": {}, 321 | "output_type": "execute_result" 322 | } 323 | ], 324 | "source": [ 325 | "solution()" 326 | ] 327 | }, 328 | { 329 | "cell_type": "markdown", 330 | "id": "cfb79e33", 331 | "metadata": {}, 332 | "source": [ 333 | "Step_3.1.11 - На вход функции подаётся серия. Доработайте функцию так чтобы она возвращала индексы серии" 334 | ] 335 | }, 336 | { 337 | "cell_type": "code", 338 | "execution_count": 42, 339 | "id": "dc1354be", 340 | "metadata": {}, 341 | "outputs": [], 342 | "source": [ 343 | "import pandas as pd\n", 344 | "\n", 345 | "def solution(s1):\n", 346 | " return s1.index" 347 | ] 348 | }, 349 | { 350 | "cell_type": "markdown", 351 | "id": "6dd11d62", 352 | "metadata": {}, 353 | "source": [ 354 | "Step_3.1.12 - Создайте серию, которая будет содержать элементы 1, 2, 3, 4, 5 и индексы a, b, c, d, e. Функция должна вернуть серию." 355 | ] 356 | }, 357 | { 358 | "cell_type": "code", 359 | "execution_count": 46, 360 | "id": "a1e5ff8f", 361 | "metadata": {}, 362 | "outputs": [], 363 | "source": [ 364 | "import pandas as pd\n", 365 | "\n", 366 | "def solution():\n", 367 | " return pd.Series(range(1,6), index = list['abcde'])" 368 | ] 369 | }, 370 | { 371 | "cell_type": "markdown", 372 | "id": "f5728126", 373 | "metadata": {}, 374 | "source": [ 375 | "Step_3.1.12 - На вход функции подаётся серия. Вытяните из нее элементы с индексами a и с. Функция должна вернуть серию.\n", 376 | "Несколько индексов необходимо передавать в листе!" 377 | ] 378 | }, 379 | { 380 | "cell_type": "code", 381 | "execution_count": 49, 382 | "id": "0c98a7a1", 383 | "metadata": {}, 384 | "outputs": [], 385 | "source": [ 386 | "import pandas as pd\n", 387 | "\n", 388 | "def solution(s):\n", 389 | " return s[list('ac')]" 390 | ] 391 | }, 392 | { 393 | "cell_type": "markdown", 394 | "id": "0f0480e6", 395 | "metadata": {}, 396 | "source": [ 397 | "Step_3.1.13 - На вход функции подаётся серия. Замените элемент по индексу c на 0. Функция должна вернуть серию с измененным элементом по индексу с." 398 | ] 399 | }, 400 | { 401 | "cell_type": "code", 402 | "execution_count": 54, 403 | "id": "e1b0d8c5", 404 | "metadata": {}, 405 | "outputs": [], 406 | "source": [ 407 | "import pandas as pd\n", 408 | "\n", 409 | "def solution(s):\n", 410 | " s['c'] = 0\n", 411 | " return s" 412 | ] 413 | }, 414 | { 415 | "cell_type": "markdown", 416 | "id": "f0ae8eaa", 417 | "metadata": {}, 418 | "source": [ 419 | "Step_3.1.14 - На вход функции подаётся серия. Доработайте функцию так чтобы она возвращала numpy массив, который содержит значения серии\n" 420 | ] 421 | }, 422 | { 423 | "cell_type": "code", 424 | "execution_count": null, 425 | "id": "f20eda8c", 426 | "metadata": {}, 427 | "outputs": [], 428 | "source": [ 429 | "import pandas as pd\n", 430 | "\n", 431 | "def solution(s):\n", 432 | " return s.values" 433 | ] 434 | } 435 | ], 436 | "metadata": { 437 | "kernelspec": { 438 | "display_name": "Python 3 (ipykernel)", 439 | "language": "python", 440 | "name": "python3" 441 | }, 442 | "language_info": { 443 | "codemirror_mode": { 444 | "name": "ipython", 445 | "version": 3 446 | }, 447 | "file_extension": ".py", 448 | "mimetype": "text/x-python", 449 | "name": "python", 450 | "nbconvert_exporter": "python", 451 | "pygments_lexer": "ipython3", 452 | "version": "3.9.12" 453 | } 454 | }, 455 | "nbformat": 4, 456 | "nbformat_minor": 5 457 | } 458 | -------------------------------------------------------------------------------- /Step_4.4._output.json: -------------------------------------------------------------------------------- 1 | {"surname":{"0":"Girev","1":"Bykin","2":"Ivanov","3":"Andreev","4":"Girev","5":"Bykin","6":"Kozlov","7":"Girev","8":"Petrov","9":"Andreev","10":"Smolov","11":"Girev","12":"Kozlov","13":"Ivanov","14":"Smolov","15":"Kozlov","16":"Vlasov","17":"Smolov","18":"Vlasov","19":"Bykin","20":"Andreev","21":"Bykin","22":"Girev","23":"Bykin","24":"Girev","25":"Smolov","26":"Mezov","27":"Smolov","28":"Vlasov","29":"Ivanov"},"name":{"0":"Andrey","1":"Stas","2":"Alex","3":"Sergey","4":"Stas","5":"Andrey","6":"Igor","7":"Alex","8":"Nikolay","9":"Sergey","10":"Stas","11":"Igor","12":"Andrey","13":"Sergey","14":"Sergey","15":"Stas","16":"Andrey","17":"Alex","18":"Sergey","19":"Alex","20":"Nikolay","21":"Igor","22":"Sergey","23":"Sergey","24":"Stas","25":"Sergey","26":"Nikolay","27":"Stas","28":"Andrey","29":"Nikolay"},"tarif":{"0":"\u0412\u0418\u041f","1":"\u0412\u0441\u0435 \u0437\u0430 300","2":"\u0412\u0441\u0451 \u0437\u0430 800","3":"\u0412\u0441\u0451 \u0437\u0430 500","4":"\u0412\u0441\u0451 \u0437\u0430 800","5":"\u0412\u0441\u0451 \u0437\u0430 500","6":"\u0412\u0441\u0451 \u0437\u0430 800","7":"\u041f\u0440\u043e\u043c\u043e","8":"\u0412\u0418\u041f","9":"\u0412\u0441\u0451 \u0437\u0430 800","10":"\u041f\u0440\u043e\u043c\u043e","11":"\u041a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0439","12":"\u041a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0439","13":"\u041f\u0440\u043e\u043c\u043e","14":"\u0412\u0441\u0451 \u0437\u0430 250 (\u0430\u0440\u0445\u0438\u0432)","15":"\u0412\u0441\u0451 \u0437\u0430 800","16":"\u0412\u0441\u0451 \u0437\u0430 800","17":"\u041a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0439","18":"\u0412\u0441\u0451 \u0437\u0430 800","19":"\u041f\u0440\u043e\u043c\u043e","20":"\u0412\u0441\u0451 \u0437\u0430 500","21":"\u0412\u0441\u0451 \u0437\u0430 500","22":"\u0412\u0441\u0435 \u0437\u0430 300","23":"\u0412\u0441\u0451 \u0437\u0430 800","24":"\u0412\u0441\u0435 \u0437\u0430 300","25":"\u041a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0439","26":"\u0412\u0441\u0451 \u0437\u0430 250 (\u0430\u0440\u0445\u0438\u0432)","27":"\u0412\u0441\u0451 \u0437\u0430 500","28":"\u0412\u0441\u0451 \u0437\u0430 500","29":"\u0412\u0441\u0451 \u0437\u0430 500"},"balance":{"0":2815,"1":3634,"2":410,"3":1981,"4":4969,"5":4308,"6":300,"7":4199,"8":4810,"9":4118,"10":1991,"11":1430,"12":113,"13":3394,"14":3493,"15":4565,"16":3192,"17":3764,"18":3816,"19":817,"20":385,"21":2642,"22":4230,"23":4100,"24":3371,"25":3577,"26":2742,"27":2644,"28":4725,"29":2785},"age":{"0":29,"1":37,"2":47,"3":75,"4":43,"5":49,"6":60,"7":47,"8":72,"9":52,"10":28,"11":69,"12":71,"13":39,"14":32,"15":59,"16":29,"17":71,"18":28,"19":65,"20":49,"21":38,"22":62,"23":48,"24":53,"25":70,"26":28,"27":41,"28":26,"29":41},"sms":{"0":58,"1":78,"2":81,"3":98,"4":61,"5":39,"6":31,"7":90,"8":88,"9":53,"10":67,"11":19,"12":82,"13":12,"14":6,"15":82,"16":74,"17":22,"18":35,"19":34,"20":62,"21":11,"22":68,"23":39,"24":24,"25":71,"26":19,"27":33,"28":93,"29":5},"voice":{"0":6358,"1":602,"2":3582,"3":5442,"4":8510,"5":2525,"6":8543,"7":3925,"8":7188,"9":419,"10":5016,"11":9520,"12":2785,"13":2718,"14":8959,"15":3168,"16":2852,"17":2768,"18":5734,"19":2131,"20":1815,"21":3787,"22":5512,"23":227,"24":7946,"25":8847,"26":7115,"27":8341,"28":9441,"29":2901},"city":{"0":"Moscow","1":"Kazan","2":"Moscow","3":"Kazan","4":"Moscow","5":"Moscow","6":"Yakutsk","7":"Kazan","8":"Moscow","9":"Yakutsk","10":"Kazan","11":"Yakutsk","12":"Kazan","13":"Yakutsk","14":"Yakutsk","15":"Moscow","16":"Yakutsk","17":"Moscow","18":"Vladivostok","19":"Vladivostok","20":"Kazan","21":"Moscow","22":"Vladivostok","23":"Moscow","24":"Kazan","25":"Yakutsk","26":"Yakutsk","27":"Moscow","28":"Vladivostok","29":"Moscow"},"phone":{"0":"Xiaomi","1":"Samsung","2":"Huawei","3":"Apple","4":"Samsung","5":"Xiaomi","6":"Samsung","7":"Apple","8":"Apple","9":"Apple","10":"Xiaomi","11":"Samsung","12":"Apple","13":"Xiaomi","14":"Huawei","15":"Apple","16":"Xiaomi","17":"Huawei","18":"Apple","19":"Samsung","20":"Xiaomi","21":"Xiaomi","22":"Samsung","23":"Xiaomi","24":"Apple","25":"Huawei","26":"Huawei","27":"Xiaomi","28":"Xiaomi","29":"Samsung"}} -------------------------------------------------------------------------------- /Step_4.4._output_orient.json: -------------------------------------------------------------------------------- 1 | [{"surname":"Girev","name":"Andrey","tarif":"\u0412\u0418\u041f","balance":2815,"age":29,"sms":58,"voice":6358,"city":"Moscow","phone":"Xiaomi"},{"surname":"Bykin","name":"Stas","tarif":"\u0412\u0441\u0435 \u0437\u0430 300","balance":3634,"age":37,"sms":78,"voice":602,"city":"Kazan","phone":"Samsung"},{"surname":"Ivanov","name":"Alex","tarif":"\u0412\u0441\u0451 \u0437\u0430 800","balance":410,"age":47,"sms":81,"voice":3582,"city":"Moscow","phone":"Huawei"},{"surname":"Andreev","name":"Sergey","tarif":"\u0412\u0441\u0451 \u0437\u0430 500","balance":1981,"age":75,"sms":98,"voice":5442,"city":"Kazan","phone":"Apple"},{"surname":"Girev","name":"Stas","tarif":"\u0412\u0441\u0451 \u0437\u0430 800","balance":4969,"age":43,"sms":61,"voice":8510,"city":"Moscow","phone":"Samsung"},{"surname":"Bykin","name":"Andrey","tarif":"\u0412\u0441\u0451 \u0437\u0430 500","balance":4308,"age":49,"sms":39,"voice":2525,"city":"Moscow","phone":"Xiaomi"},{"surname":"Kozlov","name":"Igor","tarif":"\u0412\u0441\u0451 \u0437\u0430 800","balance":300,"age":60,"sms":31,"voice":8543,"city":"Yakutsk","phone":"Samsung"},{"surname":"Girev","name":"Alex","tarif":"\u041f\u0440\u043e\u043c\u043e","balance":4199,"age":47,"sms":90,"voice":3925,"city":"Kazan","phone":"Apple"},{"surname":"Petrov","name":"Nikolay","tarif":"\u0412\u0418\u041f","balance":4810,"age":72,"sms":88,"voice":7188,"city":"Moscow","phone":"Apple"},{"surname":"Andreev","name":"Sergey","tarif":"\u0412\u0441\u0451 \u0437\u0430 800","balance":4118,"age":52,"sms":53,"voice":419,"city":"Yakutsk","phone":"Apple"},{"surname":"Smolov","name":"Stas","tarif":"\u041f\u0440\u043e\u043c\u043e","balance":1991,"age":28,"sms":67,"voice":5016,"city":"Kazan","phone":"Xiaomi"},{"surname":"Girev","name":"Igor","tarif":"\u041a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0439","balance":1430,"age":69,"sms":19,"voice":9520,"city":"Yakutsk","phone":"Samsung"},{"surname":"Kozlov","name":"Andrey","tarif":"\u041a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0439","balance":113,"age":71,"sms":82,"voice":2785,"city":"Kazan","phone":"Apple"},{"surname":"Ivanov","name":"Sergey","tarif":"\u041f\u0440\u043e\u043c\u043e","balance":3394,"age":39,"sms":12,"voice":2718,"city":"Yakutsk","phone":"Xiaomi"},{"surname":"Smolov","name":"Sergey","tarif":"\u0412\u0441\u0451 \u0437\u0430 250 (\u0430\u0440\u0445\u0438\u0432)","balance":3493,"age":32,"sms":6,"voice":8959,"city":"Yakutsk","phone":"Huawei"},{"surname":"Kozlov","name":"Stas","tarif":"\u0412\u0441\u0451 \u0437\u0430 800","balance":4565,"age":59,"sms":82,"voice":3168,"city":"Moscow","phone":"Apple"},{"surname":"Vlasov","name":"Andrey","tarif":"\u0412\u0441\u0451 \u0437\u0430 800","balance":3192,"age":29,"sms":74,"voice":2852,"city":"Yakutsk","phone":"Xiaomi"},{"surname":"Smolov","name":"Alex","tarif":"\u041a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0439","balance":3764,"age":71,"sms":22,"voice":2768,"city":"Moscow","phone":"Huawei"},{"surname":"Vlasov","name":"Sergey","tarif":"\u0412\u0441\u0451 \u0437\u0430 800","balance":3816,"age":28,"sms":35,"voice":5734,"city":"Vladivostok","phone":"Apple"},{"surname":"Bykin","name":"Alex","tarif":"\u041f\u0440\u043e\u043c\u043e","balance":817,"age":65,"sms":34,"voice":2131,"city":"Vladivostok","phone":"Samsung"},{"surname":"Andreev","name":"Nikolay","tarif":"\u0412\u0441\u0451 \u0437\u0430 500","balance":385,"age":49,"sms":62,"voice":1815,"city":"Kazan","phone":"Xiaomi"},{"surname":"Bykin","name":"Igor","tarif":"\u0412\u0441\u0451 \u0437\u0430 500","balance":2642,"age":38,"sms":11,"voice":3787,"city":"Moscow","phone":"Xiaomi"},{"surname":"Girev","name":"Sergey","tarif":"\u0412\u0441\u0435 \u0437\u0430 300","balance":4230,"age":62,"sms":68,"voice":5512,"city":"Vladivostok","phone":"Samsung"},{"surname":"Bykin","name":"Sergey","tarif":"\u0412\u0441\u0451 \u0437\u0430 800","balance":4100,"age":48,"sms":39,"voice":227,"city":"Moscow","phone":"Xiaomi"},{"surname":"Girev","name":"Stas","tarif":"\u0412\u0441\u0435 \u0437\u0430 300","balance":3371,"age":53,"sms":24,"voice":7946,"city":"Kazan","phone":"Apple"},{"surname":"Smolov","name":"Sergey","tarif":"\u041a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0439","balance":3577,"age":70,"sms":71,"voice":8847,"city":"Yakutsk","phone":"Huawei"},{"surname":"Mezov","name":"Nikolay","tarif":"\u0412\u0441\u0451 \u0437\u0430 250 (\u0430\u0440\u0445\u0438\u0432)","balance":2742,"age":28,"sms":19,"voice":7115,"city":"Yakutsk","phone":"Huawei"},{"surname":"Smolov","name":"Stas","tarif":"\u0412\u0441\u0451 \u0437\u0430 500","balance":2644,"age":41,"sms":33,"voice":8341,"city":"Moscow","phone":"Xiaomi"},{"surname":"Vlasov","name":"Andrey","tarif":"\u0412\u0441\u0451 \u0437\u0430 500","balance":4725,"age":26,"sms":93,"voice":9441,"city":"Vladivostok","phone":"Xiaomi"},{"surname":"Ivanov","name":"Nikolay","tarif":"\u0412\u0441\u0451 \u0437\u0430 500","balance":2785,"age":41,"sms":5,"voice":2901,"city":"Moscow","phone":"Samsung"}] -------------------------------------------------------------------------------- /Step_4.4._Задачка1.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TaliyIvanov/Pandas-Numpy/846f5888f9331effb4544aa1adba72bb9dbd162e/Step_4.4._Задачка1.json -------------------------------------------------------------------------------- /Step_4.4.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "surname" : "Ivanov", 4 | "name" : "Ivan", 5 | "age" : "18", 6 | "city" : "Kazan" 7 | }, 8 | { 9 | "surname" : "Ivanov", 10 | "name" : "Petr", 11 | "age" : "36", 12 | "city" : "Moscow" 13 | } 14 | ] -------------------------------------------------------------------------------- /data.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TaliyIvanov/Pandas-Numpy/846f5888f9331effb4544aa1adba72bb9dbd162e/data.npz -------------------------------------------------------------------------------- /df1_result.csv: -------------------------------------------------------------------------------- 1 | ,,Владивосток,Владивосток,Казань,Новосибирск,Новосибирск 2 | ,,Кол-во,Сумма,Сумма,Кол-во,Сумма 3 | Группа 1,Альфа,0.0,0.0,0.0,0.0,0.0 4 | Группа 1,Бета,0.0,0.0,0.0,0.0,0.0 5 | Группа 2,Альфа,0.0,0.0,0.0,0.0,0.0 6 | Группа 2,Бета,0.0,0.0,0.0,0.0,0.0 7 | -------------------------------------------------------------------------------- /df2_result.csv: -------------------------------------------------------------------------------- 1 | ,,,Capacity,Capacity,rating,rating,rating 2 | ,,,count,sum,min,max,mean 3 | Бесплатная,Восточный административный округ,Нижегородский район,1,6,8,8,8.0 4 | Бесплатная,Восточный административный округ,район Богородское,2,14,8,10,9.0 5 | Бесплатная,Восточный административный округ,район Вешняки,5,35,2,10,6.8 6 | Бесплатная,Восточный административный округ,район Восточное Измайлово,1,8,6,6,6.0 7 | Бесплатная,Восточный административный округ,район Гольяново,2,9,0,10,5.0 8 | Бесплатная,Восточный административный округ,район Ивановское,2,16,4,7,5.5 9 | Бесплатная,Восточный административный округ,район Измайлово,2,11,4,9,6.5 10 | Бесплатная,Восточный административный округ,район Косино-Ухтомский,3,18,1,5,2.333333333333333 11 | Бесплатная,Восточный административный округ,район Метрогородок,4,18,3,8,5.25 12 | Бесплатная,Восточный административный округ,район Новогиреево,2,11,2,8,5.0 13 | Бесплатная,Восточный административный округ,район Новокосино,1,1,8,8,8.0 14 | Бесплатная,Восточный административный округ,район Перово,5,35,6,9,7.8 15 | Бесплатная,Восточный административный округ,район Преображенское,3,21,0,8,3.333333333333333 16 | Бесплатная,Восточный административный округ,район Северное Измайлово,1,1,1,1,1.0 17 | Бесплатная,Восточный административный округ,район Соколиная Гора,4,16,0,3,1.75 18 | Бесплатная,Восточный административный округ,район Сокольники,4,28,0,6,2.0 19 | Бесплатная,Западный административный округ,Можайский район,1,8,9,9,9.0 20 | Бесплатная,Западный административный округ,район Дорогомилово,1,8,9,9,9.0 21 | Бесплатная,Западный административный округ,район Крылатское,2,18,4,4,4.0 22 | Бесплатная,Западный административный округ,район Кунцево,1,10,4,4,4.0 23 | Бесплатная,Западный административный округ,район Ново-Переделкино,4,26,7,10,8.5 24 | Бесплатная,Западный административный округ,район Очаково-Матвеевское,1,6,5,5,5.0 25 | Бесплатная,Западный административный округ,район Проспект Вернадского,2,9,3,4,3.5 26 | Бесплатная,Западный административный округ,район Раменки,4,25,1,10,4.5 27 | Бесплатная,Западный административный округ,район Солнцево,2,12,3,3,3.0 28 | Бесплатная,Западный административный округ,район Тропарёво-Никулино,1,6,4,4,4.0 29 | Бесплатная,Западный административный округ,район Филёвский Парк,1,10,10,10,10.0 30 | -------------------------------------------------------------------------------- /df3_result.csv: -------------------------------------------------------------------------------- 1 | ,,type,min,max,mean 2 | Юго-Восточный административный округ,район Некрасовка,Бесплатная,10,10,10.0 3 | Зеленоградский административный округ,район Силино,Платная,10,10,10.0 4 | Северный административный округ,район Сокол,Платная,10,10,10.0 5 | Западный административный округ,район Марьино,Платная,10,10,10.0 6 | Западный административный округ,район Филёвский Парк,Бесплатная,10,10,10.0 7 | Юго-Восточный административный округ,район Печатники,Бесплатная,9,9,9.0 8 | Западный административный округ,Можайский район,Бесплатная,9,9,9.0 9 | Западный административный округ,район Дорогомилово,Бесплатная,9,9,9.0 10 | Юго-Восточный административный округ,Гагаринский район,Бесплатная,9,9,9.0 11 | Новомосковский административный округ,поселение Сосенское,Платная,9,9,9.0 12 | -------------------------------------------------------------------------------- /example2.csv: -------------------------------------------------------------------------------- 1 | a,b,c 2 | 1,2,3 3 | 4,5,6 4 | 7,8,9 -------------------------------------------------------------------------------- /l2.csv: -------------------------------------------------------------------------------- 1 | ,"Предметы, которые можно получить","Предметы, которые можно получить.1","Предметы, которые можно получить.2" 2 | 0,Сундук с Оружием Монарха Льда [Запечатано] 1 шт.,Сундук с Доспехами Защиты [Запечатано] 1 шт.,Сундук с Оружием Босса [Запечатано] 1 шт. 3 | 1,Сундук с Особыми Доспехами [Запечатано] 1 шт.,Серьга Антараса 1 шт.,Ожерелье Фринтезы 1 шт. 4 | 2,Кольцо Белефа 1 шт.,Кольцо Баюма 1 шт.,Серьга Закена 1 шт. 5 | 3,Кольцо Королевы Муравьев 1 шт.,Серьга Орфен 1 шт.,Кольцо Ядра 1 шт. 6 | 4,Кристалл Души Хардина Ур. 13 (1 шт.),Кристалл Души Адена Ур. 13 - Доспехи (1 шт.),Кристалл Души Адена Ур. 13 - Оружие (1 шт.) 7 | 5,Упаковка: Кристалл Души Хардина (100 шт.) [Запечатано] 1 шт.,Упаковка: Кристалл Души Адена Ур. 1 - Доспехи (200 шт.) [Запечатано] 1 шт.,Упаковка: Кристалл Души Адена Ур. 1 - Оружие (200 шт.) [Запечатано] 1 шт. 8 | 6,Свиток Благословения - Оружие (1 шт.),Свиток Благословения - Доспехи (1 шт.),Кристалл Души Хардина Ур. 1 (2 шт.) 9 | 7,Кристалл Души Адена Ур. 1 - Доспехи (5 шт.),Кристалл Души Адена Ур. 1 - Оружие (5 шт.),Камень Зачарования для Оружия [Запечатано] 2 шт. 10 | 8,Камень Зачарования для Доспехов [Запечатано] 2 шт.,Камень Зачарования для Аксессуаров [Запечатано] 2 шт., 11 | -------------------------------------------------------------------------------- /Обновления сентября, 2022 г. — База знаний Lineage II Essence_files/1c1c2bf44c9e8907839dbee0638c6570.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TaliyIvanov/Pandas-Numpy/846f5888f9331effb4544aa1adba72bb9dbd162e/Обновления сентября, 2022 г. — База знаний Lineage II Essence_files/1c1c2bf44c9e8907839dbee0638c6570.png -------------------------------------------------------------------------------- /Обновления сентября, 2022 г. — База знаний Lineage II Essence_files/2a05cd5c4cfd716d3b0dac9148c5cf97.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TaliyIvanov/Pandas-Numpy/846f5888f9331effb4544aa1adba72bb9dbd162e/Обновления сентября, 2022 г. — База знаний Lineage II Essence_files/2a05cd5c4cfd716d3b0dac9148c5cf97.png -------------------------------------------------------------------------------- /Обновления сентября, 2022 г. — База знаний Lineage II Essence_files/2b5bd765cafcaea2577209e39848fbe2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TaliyIvanov/Pandas-Numpy/846f5888f9331effb4544aa1adba72bb9dbd162e/Обновления сентября, 2022 г. — База знаний Lineage II Essence_files/2b5bd765cafcaea2577209e39848fbe2.png -------------------------------------------------------------------------------- /Обновления сентября, 2022 г. — База знаний Lineage II Essence_files/c8b1cb2432226079665ee5eca0a8af7f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TaliyIvanov/Pandas-Numpy/846f5888f9331effb4544aa1adba72bb9dbd162e/Обновления сентября, 2022 г. — База знаний Lineage II Essence_files/c8b1cb2432226079665ee5eca0a8af7f.png -------------------------------------------------------------------------------- /Обновления сентября, 2022 г. — База знаний Lineage II Essence_files/common_styles.css: -------------------------------------------------------------------------------- 1 | :root { 2 | --header-hieght: 40px 3 | } 4 | 5 | * { 6 | box-sizing: border-box; 7 | -moz-box-sizing: border-box; 8 | } 9 | 10 | html, body { 11 | margin: 0; 12 | padding: 0; 13 | width: 100%; 14 | display: flex; 15 | min-height: 100%; 16 | min-height: 100vh; 17 | min-width: 1024px; 18 | flex-direction: column; 19 | } 20 | 21 | header { 22 | display: flex; 23 | flex-shrink: 0; 24 | justify-content: center; 25 | height: var(--header-hieght); 26 | border-bottom: 1px solid rgba(0, 0, 0, 0.1); 27 | } 28 | 29 | header, body > main, footer { 30 | width: 100%; 31 | min-width: 1024px; 32 | } 33 | 34 | body > main, 35 | .main-wrapper { 36 | flex-grow: 1; 37 | margin: 0 auto; 38 | /*overflow-x: hidden; 39 | overflow-y: inherit;*/ 40 | } 41 | 42 | main .auth-wrap { 43 | left: 0; 44 | height: 0; 45 | width: 100%; 46 | z-index: 1000; 47 | position: fixed; 48 | top: var(--header-hieght); 49 | } 50 | 51 | /** 52 | * Lists start 53 | */ 54 | main .list-wrap { 55 | width: 100%; 56 | } 57 | 58 | .list-wrap .list-row { 59 | width: 100%; 60 | display: flex; 61 | max-width: 886px; 62 | flex-wrap: nowrap; 63 | padding: 8px 0 5px; 64 | } 65 | 66 | .list-wrap .list-row[data-item], 67 | .list-wrap .list-row .item-wrap[data-item] { 68 | cursor: pointer; 69 | } 70 | 71 | .list-wrap .list-row > .item-wrap { 72 | width: 100%; 73 | height: 40px; 74 | display: flex; 75 | } 76 | 77 | .list-wrap .list-row > .source-wrap { 78 | width: 100%; 79 | } 80 | 81 | .list-wrap .list-row > .source-wrap:empty { 82 | display: none; 83 | } 84 | 85 | .list-wrap .list-row:not(:last-child) { 86 | border-bottom: 1px solid #e8e8ec; 87 | } 88 | 89 | .list-wrap .list-row.head-row, 90 | .list-wrap .list-row:not(.head-row):hover { 91 | background: #e8e8ec; 92 | } 93 | 94 | .list-wrap .list-row.head-row { 95 | padding: 0; 96 | height: 44px; 97 | overflow: hidden; 98 | border-radius: 5px; 99 | margin-bottom: 7px; 100 | } 101 | 102 | .list-wrap .list-row .list-col { 103 | display: flex; 104 | padding: 0 10px; 105 | font-size: 13px; 106 | line-height: 20px; 107 | letter-spacing: -0.2px; 108 | } 109 | 110 | .list-wrap .list-row.head-row .list-col { 111 | height: 44px; 112 | align-items: center; 113 | } 114 | 115 | .list-wrap .list-row .list-col.icon-col { 116 | padding: 0; 117 | width: 40px; 118 | min-width: 40px; 119 | align-items: center; 120 | justify-content: center; 121 | } 122 | 123 | .list-wrap .list-col.icon-col a, 124 | .list-wrap .list-row .list-col.icon-col { 125 | position: relative; 126 | } 127 | 128 | .list-wrap .list-col.icon-col a, 129 | .list-wrap .list-col.icon-col img { 130 | width: 40px; 131 | height: 40px; 132 | display: block; 133 | border-radius: 2px; 134 | } 135 | 136 | .list-wrap .list-col.icon-col img:not(.icon-panel):not(.panel) { 137 | background: linear-gradient(45deg, #181010, #945539); 138 | } 139 | 140 | .list-wrap .list-col.icon-col img + img.panel, 141 | .list-wrap .list-col.icon-col img + img.icon-panel { 142 | top: 0; 143 | left: 0; 144 | position: absolute; 145 | } 146 | 147 | .list-wrap .list-col.icon-col + .list-col { 148 | flex-wrap: wrap; 149 | align-items: center; 150 | justify-content: flex-start; 151 | } 152 | 153 | .list-wrap .list-col.icon-col + .list-col > * { 154 | width: 100%; 155 | height: 20px; 156 | display: flex; 157 | align-items: center; 158 | } 159 | 160 | .list-wrap .list-col .name { 161 | max-width: 100%; 162 | } 163 | 164 | .list-wrap .list-col .name a { 165 | overflow: hidden; 166 | white-space: nowrap; 167 | text-overflow: ellipsis; 168 | } 169 | 170 | .list-wrap .list-col .name a:not(:hover):not(:active) { 171 | color: #000; 172 | } 173 | 174 | .list-wrap .list-col.name-col .bottom { 175 | font-size: 11px; 176 | line-height: 13px; 177 | letter-spacing: -0.22px; 178 | } 179 | 180 | /** 181 | * Lists end 182 | * 183 | * 184 | * Footer start 185 | */ 186 | 187 | /** 188 | * Items grade Start 189 | */ 190 | 191 | /*.item-grade { 192 | display: flex; 193 | align-items: center; 194 | }*/ 195 | 196 | .item-grade:after { 197 | width: 14px; 198 | content: ''; 199 | height: 14px; 200 | display: inline-block; 201 | margin-left: 3px; 202 | background-size: 14px 14px; 203 | } 204 | 205 | .item-grade.grade-d:after { 206 | background-image: url(/upload/images/ranks/D.png); 207 | } 208 | 209 | .item-grade.grade-c:after { 210 | background-image: url(/upload/images/ranks/C.png); 211 | } 212 | 213 | .item-grade.grade-b:after { 214 | background-image: url(/upload/images/ranks/B.png); 215 | } 216 | 217 | .item-grade.grade-a:after { 218 | background-image: url(/upload/images/ranks/A.png); 219 | } 220 | 221 | .item-grade.grade-s:after { 222 | background-image: url(/upload/images/ranks/S.png); 223 | } 224 | 225 | .item-grade.grade-s80:after { 226 | width: 48px; 227 | background-image: url(/upload/images/ranks/S80.png); 228 | } 229 | 230 | .item-grade.grade-s84:after { 231 | width: 48px; 232 | background-image: url(/upload/images/ranks/S84.png); 233 | } 234 | 235 | .item-grade.grade-r:after { 236 | background-image: url(/upload/images/ranks/R.png); 237 | } 238 | 239 | .item-grade.grade-r95:after { 240 | width: 48px; 241 | background-image: url(/upload/images/ranks/R95.png); 242 | } 243 | 244 | .item-grade.grade-r99:after { 245 | width: 48px; 246 | background-image: url(/upload/images/ranks/R99.png); 247 | } 248 | 249 | .item-grade.grade-r110:after { 250 | width: 54px; 251 | background-image: url(/upload/images/ranks/R110.png); 252 | } 253 | 254 | footer { 255 | display: flex; 256 | flex-shrink: 0; 257 | margin: 0 auto; 258 | min-height: 1px; 259 | padding: 21px 0 60px; 260 | justify-content: center; 261 | } 262 | 263 | header > .wrap, 264 | footer > .wrap { 265 | position: relative; 266 | text-align: center; 267 | } 268 | 269 | footer p { 270 | margin: 0; 271 | font-size: 11px; 272 | line-height: 15px; 273 | letter-spacing: 0; 274 | color: rgba(0, 0, 0, 0.5); 275 | } 276 | 277 | footer a { 278 | font-size: 13px; 279 | font-family: GothamSSm-Bold, sans-serif; 280 | } 281 | 282 | footer a:not(:hover) { 283 | color: #000; 284 | } 285 | 286 | footer a:hover:not(:active) { 287 | color: var(--a-color); 288 | } 289 | 290 | footer .pegi-pictures { 291 | display: flex; 292 | margin-top: 22px; 293 | align-items: flex-start; 294 | justify-content: center; 295 | } 296 | 297 | footer .pegi-pictures img { 298 | width: 30px; 299 | } 300 | 301 | footer .pegi-pictures img:not(:first-child) { 302 | margin-left: 10px; 303 | } 304 | 305 | footer .site-lang-list { 306 | top: 3px; 307 | right: 65px; 308 | display: block; 309 | position: absolute; 310 | } 311 | 312 | .site-lang-list, 313 | .site-lang-list .current-lang { 314 | width: 39px; 315 | height: 15px; 316 | } 317 | 318 | .site-lang-list .current-lang { 319 | display: flex; 320 | cursor: pointer; 321 | align-items: center; 322 | justify-content: space-between; 323 | } 324 | 325 | .site-lang-list .svg-icon { 326 | display: block; 327 | } 328 | 329 | .site-lang-list .current-lang .icon-current-lang { 330 | width: 20px; 331 | height: 15px; 332 | } 333 | 334 | .site-lang-list .svg-icon.icon-arrow-bottom { 335 | width: 9px; 336 | height: 6px; 337 | display: block; 338 | } 339 | 340 | .site-lang-list .svg-icon.icon-site-lang { 341 | width: 28px; 342 | height: 20px; 343 | margin-right: 10px; 344 | } 345 | 346 | .site-lang-list ul { 347 | margin: 0; 348 | top: -15px; 349 | right: -15px; 350 | padding: 15px; 351 | display: none; 352 | text-align: left; 353 | list-style: none; 354 | border-radius: 5px; 355 | position: absolute; 356 | white-space: nowrap; 357 | background-color: #ffffff; 358 | border: 1px solid rgba(0, 0, 0, 0.2); 359 | box-shadow: 0 -5px 10px 0 rgba(0, 0, 0, 0.2); 360 | } 361 | 362 | .site-lang-list:hover ul { 363 | display: block; 364 | } 365 | 366 | .site-lang-list ul a { 367 | display: flex; 368 | font-size: 11px; 369 | flex-wrap: nowrap; 370 | line-height: 13px; 371 | align-items: center; 372 | font-family: inherit; 373 | justify-content: flex-start; 374 | } 375 | 376 | .site-lang-list ul li:not(:last-child) { 377 | margin-bottom: 15px; 378 | } 379 | 380 | .common-icon-list { 381 | display: none; 382 | } -------------------------------------------------------------------------------- /Обновления сентября, 2022 г. — База знаний Lineage II Essence_files/core.js.Без названия: -------------------------------------------------------------------------------- 1 | /** 2 | * @author Monstr 3 | * @version 1.0.0 4 | * @copyright Innova Co. S.à r.l. 5 | * 6 | * @requires jQuery 3.3.1 or later 7 | * 8 | * @param config {object} 9 | */ 10 | var aiondb = function (config) { 11 | this.config = { 12 | errorLoad : function () { 13 | }, 14 | afterInit : function () { 15 | }, 16 | afterLoad : function () { 17 | }, 18 | afterShow : function () { 19 | }, 20 | beforeInit : function () { 21 | }, 22 | beforeLoad : function () { 23 | }, 24 | beforeShow : function () { 25 | }, 26 | sendAnalytics : function () { 27 | } 28 | }; 29 | this.cacheRequest = {}; 30 | this.cacheViewer = {}; 31 | this.timer = null; 32 | this.xhr = undefined; 33 | this.docTitle = null; 34 | this.sendAnalytics = false; 35 | this.startPage = location.pathname; 36 | 37 | $.extend(this.config, config || {}); 38 | 39 | Array.prototype.elFirst = function () { 40 | return this[0]; 41 | }; 42 | 43 | Array.prototype.elLast = function () { 44 | return this[this.length - 1]; 45 | }; 46 | 47 | this.excludeOnLoadList = []; 48 | }; 49 | 50 | /** 51 | * 52 | * @param e 53 | * @param options 54 | * @returns {boolean} 55 | */ 56 | aiondb.prototype.showPage = function (e, options) { 57 | (options.beforeInit || this.config.beforeInit).call(this, e, options); 58 | 59 | var config = { 60 | data : {}, 61 | href : false, 62 | title : null, 63 | cache : true, 64 | history : true, 65 | afterLoad : false, 66 | beforeLoad : false, 67 | prepareContent : false 68 | }; 69 | $.extend(config, options); 70 | 71 | if (!config.href 72 | || (this.startPage === location.pathname 73 | && !this.sendAnalytics && e.type === 'popstate') 74 | ) { 75 | this.startPage = false; 76 | this.sendAnalytics = true; 77 | 78 | return false; 79 | } else if (e.type !== 'popstate') { 80 | this.sendAnalytics = config.history; 81 | } else { 82 | this.sendAnalytics = true; 83 | } 84 | 85 | var _this = this, 86 | hashQuery = $.md5(JSON.stringify(config)); 87 | 88 | if (config.history) history.pushState(null, config.title, config.href); 89 | 90 | (options.afterInit || this.config.afterInit).call(this, e, options); 91 | 92 | if (config.cache && hashQuery in this.cacheRequest) { 93 | if (typeof config.prepareContent === 'function') { 94 | config.prepareContent.call(_this, this.cacheRequest[hashQuery], config); 95 | } else { 96 | _this._preparePageData(_this.cacheRequest[hashQuery], config); 97 | } 98 | } else { 99 | $.ajax(config.href, { 100 | dataType : 'json', 101 | data : config.data, 102 | error : this.config.errorLoad, 103 | success : function (data) { 104 | if (typeof config.prepareContent === 'function') { 105 | config.prepareContent.call(_this, data, config); 106 | } else { 107 | _this._preparePageData(data, config); 108 | } 109 | 110 | if (config.cache 111 | && !('CACHE' in data) 112 | ) _this.cacheRequest[hashQuery] = data; 113 | }, 114 | complete : config.afterLoad || this.config.afterLoad, 115 | beforeSend : config.beforeLoad || this.config.beforeLoad 116 | }); 117 | } 118 | 119 | return false; 120 | }; 121 | 122 | /** 123 | * 124 | * @param data 125 | * @param config 126 | * @private 127 | */ 128 | aiondb.prototype._preparePageData = function (data, config) { 129 | this.config.beforeShow.call(this, data, config); 130 | 131 | this.showCss(data); 132 | this.showScripts(data); 133 | 134 | document.title = data['TITLE']; 135 | 136 | /** @namespace data.dynamic {object} */ 137 | for (var block in data.dynamic) { 138 | if (!data.dynamic.hasOwnProperty(block)) continue; 139 | 140 | $('#' + block.toLowerCase()).html(data.dynamic[block]); 141 | } 142 | 143 | /** @namespace data.request {object} */ 144 | if (this.sendAnalytics) this.config.sendAnalytics.call(this, data.request, config); 145 | 146 | this.config.afterShow.call(this, data, config); 147 | }; 148 | 149 | /** 150 | * 151 | * @param data 152 | */ 153 | aiondb.prototype.showCss = function (data) { 154 | if (typeof data !== 'object' || !('css' in data)) return; 155 | 156 | var arCss = [], head = $('head'); 157 | $('link[data-file]').each(function () { 158 | arCss.push($(this).data('file')); 159 | }); 160 | 161 | for (var i in data.css) { 162 | if (!data.css.hasOwnProperty(i) 163 | || in_array(data.css[i]['hash'], arCss) 164 | ) continue; 165 | 166 | head.append($('', { 167 | 'rel' : 'stylesheet', 168 | 'href' : data.css[i]['src'] + '?' + data.css[i]['stamp'], 169 | 'data-file' : data.css[i]['hash'] 170 | })); 171 | arCss.push(data.css[i]['hash']); 172 | } 173 | }; 174 | 175 | /** 176 | * 177 | * @param data 178 | */ 179 | aiondb.prototype.showScripts = function (data) { 180 | if (typeof data !== 'object' || !('script' in data)) return; 181 | 182 | var arScripts = [], head = $('head'); 183 | $('script[data-file]').each(function () { 184 | arScripts.push($(this).data('file')); 185 | }); 186 | 187 | /** @namespace data.script */ 188 | for (var i in data.script) { 189 | if (!data.script.hasOwnProperty(i) 190 | || in_array(data.script[i]['hash'], arScripts) 191 | ) continue; 192 | 193 | if ('ajax_block_id' in data.script[i]) this.excludeOnLoadList.push(data.script[i]['ajax_block_id']); 194 | 195 | head.append($('