From c90b90f52ed93292f23b79cd01d6d5c6ef6a6270 Mon Sep 17 00:00:00 2001 From: "Alexey.Vinichenko@urfu.me" Date: Fri, 15 Apr 2022 23:59:31 +0500 Subject: [PATCH 1/2] =?UTF-8?q?numpy=20=D0=92=D0=B8=D0=BD=D0=B8=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=BA=D0=BE=20=D0=90.=D0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Numpy (26.02)/Numpy_Task.ipynb | 938 ++++++++++++++++----------------- 1 file changed, 469 insertions(+), 469 deletions(-) diff --git a/Numpy (26.02)/Numpy_Task.ipynb b/Numpy (26.02)/Numpy_Task.ipynb index 593ba20..bcf4757 100644 --- a/Numpy (26.02)/Numpy_Task.ipynb +++ b/Numpy (26.02)/Numpy_Task.ipynb @@ -1,470 +1,470 @@ { - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "medieval-detail" - }, - "outputs": [], - "source": [ - "import numpy as np" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "abstract-istanbul" - }, - "source": [ - "1. Задание\n", - "- проверьте тип объекта python_list\n", - "- если это не numpy ndarray, то преобразуйте к нему\n", - "- проверьте, что на выходе вы получили объект python_list желаемого типа" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "entertaining-automation" - }, - "outputs": [], - "source": [ - "python_list = [1, 12, 13, 45, 76, 45, 98, 0]\n", - "print()\n", - "python_list = \n", - "print()" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "loose-tobago" - }, - "source": [ - "2. Задание\n", - "- создайте одномерный массив numpy из 10 элементов заполненный числом 1.5" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "included-polymer" - }, - "outputs": [], - "source": [ - "z = \n", - "print(z)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "threatened-theme" - }, - "source": [ - "3. Задание\n", - "- создайте двумерный массив numpy из 25 элементов заполненный числом 0" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "alert-endorsement" - }, - "outputs": [], - "source": [ - "z = \n", - "print(z)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "federal-blackberry" - }, - "source": [ - "4. Задание\n", - "- создайте одномерный массив numpy из 12 элементов заполненный числом 1" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "static-filing" - }, - "outputs": [], - "source": [ - "ones = \n", - "print(ones)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "whole-chassis" - }, - "source": [ - "5. Задание\n", - "- преобразуйте массив из предыдущего задания к матрице 3 на 4\n", - "- выведите размерность полученного массива" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "outstanding-deviation" - }, - "outputs": [], - "source": [ - "ones = \n", - "ones.shape" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "cubic-noise" - }, - "source": [ - "6. Задание\n", - "- создайте матрицу 4 на 5 заполненную числами от 1 до 20\n", - "- замените элемент в 3-й строке 4-м столбце на -99" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "foster-memory" - }, - "outputs": [], - "source": [ - "Z = \n", - "print(Z)\n", - "\n", - "print(Z)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "helpful-table" - }, - "source": [ - "7. Задание\n", - "- создайте вектор длинной 15 со случайными целыми числами в диапазоне от -10 до 10\n", - "- сделайте реверс вектора" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "magnetic-leone" - }, - "outputs": [], - "source": [ - "first = \n", - "print(first)\n", - "second = \n", - "print(second)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "executed-september" - }, - "source": [ - "8. Задание\n", - "- создайте матрицу 5 на 5 со случайными целыми числами в диапазоне от -15 до 15\n", - "- замените отрицательные элементы на их квадраты" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "pharmaceutical-sigma" - }, - "outputs": [], - "source": [ - "first = \n", - "print(first)\n", - "\n", - "print(first)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "floral-difference" - }, - "source": [ - "9. Задание\n", - "- создайте матрицу 3 на 5 со случайными целыми числами в диапазоне от -15 до 15\n", - "- найдите максимум и минимум\n", - "- найдите среднее по столбцам\n", - "- найдите среднее по строкам" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "saving-conference" - }, - "outputs": [], - "source": [ - "first = \n", - "print(first)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "diagnostic-departure" - }, - "source": [ - "10. Задание\n", - "- даны две матрицы\n", - "- убедитесь, что их можно пермножить\n", - "- произведите операцию умножения матриц, если это возможно, иначе выведите ошибку" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "olympic-qatar" - }, - "outputs": [], - "source": [ - "a = np.random.randint(-10, 10, (2, 5))\n", - "first_axis = np.random.randint(4, 6)\n", - "b = np.random.randint(-10, 10, (first_axis, 3))\n", - "if :\n", - " print(a @ b)\n", - "else:\n", - " " - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "governmental-austin" - }, - "source": [ - "11. Задание\n", - "- создайте матрицу 5 на 5 заполненную равномерным распределением с диапазоно 2-12\n", - "- заполните все элементы ниже главной диагонали нулями" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "suffering-mauritius" - }, - "outputs": [], - "source": [ - "mask = \n", - "matrix = \n", - "\n", - "print(matrix)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "altered-baghdad" - }, - "source": [ - "12. Задание\n", - "- создайте матрицу 5 на 5 заполненную нормальным распределением с парметрами среднее 10 и отклонение 2\n", - "- заполните все элементы на главной диагонали нулями" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "refined-stuff" - }, - "outputs": [], - "source": [ - "mask = \n", - "matrix = \n", - "\n", - "print(matrix)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "quiet-complement" - }, - "source": [ - "13. Задание\n", - "- дано два массива, проверить одинаковы ли они" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "french-fighter" - }, - "outputs": [], - "source": [ - "a = np.random.randint(0,2,5)\n", - "print(a)\n", - "b = np.random.randint(0,2,5)\n", - "print(b)\n", - "equal = \n", - "equal" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "color-amplifier" - }, - "source": [ - "14. Задание\n", - "- сгенерируйте матрицу случайного размера:\n", - " - строк от 3 до 7\n", - " - столбцов от 2 до 12\n", - "- сгенерируйте число N - размер выборки так, чтобы оно не превышало половину количества элементов сгенерированной матрицы, но было больше 0\n", - "- сделайте случайную выборку N элементов" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "close-daisy" - }, - "outputs": [], - "source": [ - "r, c = \n", - "a = \n", - "print(a)\n", - "N = \n", - "print(N)\n", - "sample = \n", - "print(sample)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "patent-african" - }, - "source": [ - "15. Задание\n", - "- дан вектор, проверить есть в нем Nan\n", - "- проверить есть в нем знак бесконечности\n", - "- заполнить их нулями" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "taken-fabric" - }, - "outputs": [], - "source": [ - "a = np.array([1, np.NaN, np.Inf], float)\n", - "\n", - "\n", - "a" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "analyzed-ireland" - }, - "source": [ - "16. Задание\n", - "- сгенерировать массив с произвольным числом осей\n", - "- определить сколько у него осей" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "imposed-digest" - }, - "outputs": [], - "source": [ - "axis = \n", - "print(axis)\n", - "matrix = \n", - "print(...)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "regulation-colleague" - }, - "source": [ - "17. Задание\n", - "- сгенерируйте матрицу 10 на 3 с нормальным распределением, среднее 50, отклонение 10\n", - "- найдите индексы максимальных элементов в каждой строке\n", - "- найдите сами элементы" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "concerned-anthropology" - }, - "outputs": [], - "source": [ - "matrix = np.random.normal(50, 10, (10,3))\n", - "print(matrix)\n", - "indexes = \n", - "print(indexes)\n", - "print(...)" - ] - } - ], - "metadata": { - "colab": { - "collapsed_sections": [], - "name": "01_task.ipynb", - "provenance": [] - }, - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.8.5" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} + "metadata": { + "colab": { + "collapsed_sections": [], + "name": "01_task.ipynb", + "provenance": [] + }, + "kernelspec": { + "name": "python", + "display_name": "Pyolite", + "language": "python" + }, + "language_info": { + "codemirror_mode": { + "name": "python", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8" + } + }, + "nbformat_minor": 5, + "nbformat": 4, + "cells": [ + { + "cell_type": "code", + "source": "import numpy as np", + "metadata": { + "id": "medieval-detail", + "trusted": true + }, + "execution_count": 6, + "outputs": [], + "id": "4b0abd6f-c954-42de-ab5d-6378bfbb12df" + }, + { + "cell_type": "markdown", + "source": "1. Задание\n- проверьте тип объекта python_list\n- если это не numpy ndarray, то преобразуйте к нему\n- проверьте, что на выходе вы получили объект python_list желаемого типа", + "metadata": { + "id": "abstract-istanbul" + }, + "id": "5bf92aa9-9bb5-4e39-a3c7-6a285d176dbf" + }, + { + "cell_type": "code", + "source": "python_list = [1, 12, 13, 45, 76, 45, 98, 0]\nprint(type(python_list))\nif type(python_list) is not type(np.ndarray):\n python_list = np.array(python_list)\n print(type(python_list))", + "metadata": { + "id": "entertaining-automation", + "trusted": true + }, + "execution_count": 8, + "outputs": [ + { + "name": "stdout", + "text": "\n\n", + "output_type": "stream" + } + ], + "id": "68b79322-59e9-4024-9513-a6f2d5fb99a8" + }, + { + "cell_type": "markdown", + "source": "2. Задание\n- создайте одномерный массив numpy из 10 элементов заполненный числом 1.5", + "metadata": { + "id": "loose-tobago" + }, + "id": "3d6a6ba3-6245-481b-b7f9-ce1f9cc41d85" + }, + { + "cell_type": "code", + "source": "z = np.ndarray((10))\nz.fill(1.5)\nprint(z)", + "metadata": { + "id": "included-polymer", + "trusted": true + }, + "execution_count": 10, + "outputs": [ + { + "name": "stdout", + "text": "[1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5 1.5]\n", + "output_type": "stream" + } + ], + "id": "9593addb-997c-4726-bb43-1ff58100817c" + }, + { + "cell_type": "markdown", + "source": "3. Задание\n- создайте двумерный массив numpy из 25 элементов заполненный числом 0", + "metadata": { + "id": "threatened-theme" + }, + "id": "68f22b3c-38a2-4db9-a2c8-061a7b3066d0" + }, + { + "cell_type": "code", + "source": "z = np.ndarray((5,5))\nz.fill(0)\nprint(z)", + "metadata": { + "id": "alert-endorsement", + "trusted": true + }, + "execution_count": 11, + "outputs": [ + { + "name": "stdout", + "text": "[[0. 0. 0. 0. 0.]\n [0. 0. 0. 0. 0.]\n [0. 0. 0. 0. 0.]\n [0. 0. 0. 0. 0.]\n [0. 0. 0. 0. 0.]]\n", + "output_type": "stream" + } + ], + "id": "8ef29500-68dc-4ece-be68-7a65c14ad76a" + }, + { + "cell_type": "markdown", + "source": "4. Задание\n- создайте одномерный массив numpy из 12 элементов заполненный числом 1", + "metadata": { + "id": "federal-blackberry" + }, + "id": "ce340058-bd96-42a5-a4bd-e7ad174bcd84" + }, + { + "cell_type": "code", + "source": "ones = np.ndarray((12))\nones.fill(1)\nprint(ones)", + "metadata": { + "id": "static-filing", + "trusted": true + }, + "execution_count": 12, + "outputs": [ + { + "name": "stdout", + "text": "[1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]\n", + "output_type": "stream" + } + ], + "id": "ad905fdb-ca27-4bdb-9d0e-1a4ad6ab8ba4" + }, + { + "cell_type": "markdown", + "source": "5. Задание\n- преобразуйте массив из предыдущего задания к матрице 3 на 4\n- выведите размерность полученного массива", + "metadata": { + "id": "whole-chassis" + }, + "id": "9290a660-a9d3-4d8c-8ce3-711ef1746bbb" + }, + { + "cell_type": "code", + "source": "ones = ones.reshape((3,4))\nones.shape", + "metadata": { + "id": "outstanding-deviation", + "trusted": true + }, + "execution_count": 13, + "outputs": [ + { + "execution_count": 13, + "output_type": "execute_result", + "data": { + "text/plain": "(3, 4)" + }, + "metadata": {} + } + ], + "id": "2d7f73f3-8083-4dae-a1b8-bf2ca0fd4433" + }, + { + "cell_type": "markdown", + "source": "6. Задание\n- создайте матрицу 4 на 5 заполненную числами от 1 до 20\n- замените элемент в 3-й строке 4-м столбце на -99", + "metadata": { + "id": "cubic-noise" + }, + "id": "63c48790-2c81-4ed6-a955-62c7db243844" + }, + { + "cell_type": "code", + "source": "Z = np.array(range(1,21)).reshape((4,5))\nprint(Z)\nZ[2,3] = -99\nprint(Z)", + "metadata": { + "id": "foster-memory", + "trusted": true + }, + "execution_count": 14, + "outputs": [ + { + "name": "stdout", + "text": "[[ 1 2 3 4 5]\n [ 6 7 8 9 10]\n [11 12 13 14 15]\n [16 17 18 19 20]]\n[[ 1 2 3 4 5]\n [ 6 7 8 9 10]\n [ 11 12 13 -99 15]\n [ 16 17 18 19 20]]\n", + "output_type": "stream" + } + ], + "id": "a8928d27-cbce-4e83-a9cd-b765a6e114b6" + }, + { + "cell_type": "markdown", + "source": "7. Задание\n- создайте вектор длинной 15 со случайными целыми числами в диапазоне от -10 до 10\n- сделайте реверс вектора", + "metadata": { + "id": "helpful-table" + }, + "id": "b63b1b24-aba9-4636-bd4b-07be882aaa17" + }, + { + "cell_type": "code", + "source": "first = np.random.randint(-10, 10, 15)\nprint(first)\nsecond = first[::-1]\nprint(second)", + "metadata": { + "id": "magnetic-leone", + "trusted": true + }, + "execution_count": 15, + "outputs": [ + { + "name": "stdout", + "text": "[ 4 3 9 4 4 8 1 -2 -8 8 -8 -7 -3 -8 9]\n[ 9 -8 -3 -7 -8 8 -8 -2 1 8 4 4 9 3 4]\n", + "output_type": "stream" + } + ], + "id": "3692e729-6706-4236-9c10-43bdf2362975" + }, + { + "cell_type": "markdown", + "source": "8. Задание\n- создайте матрицу 5 на 5 со случайными целыми числами в диапазоне от -15 до 15\n- замените отрицательные элементы на их квадраты", + "metadata": { + "id": "executed-september" + }, + "id": "3e5adf19-2985-4eb0-a6d7-9bb368362d15" + }, + { + "cell_type": "code", + "source": "first = np.random.randint(-15, 15, 25).reshape(5,5)\nprint(first)\nsecond = np.where(first < 0, first * first, first)\nprint(first)", + "metadata": { + "id": "pharmaceutical-sigma", + "trusted": true + }, + "execution_count": 16, + "outputs": [ + { + "name": "stdout", + "text": "[[ 2 -12 13 -8 10]\n [ 6 3 5 3 0]\n [ 14 6 -15 11 10]\n [ 11 -2 13 -12 -7]\n [ -8 -3 -11 10 -15]]\n[[ 2 -12 13 -8 10]\n [ 6 3 5 3 0]\n [ 14 6 -15 11 10]\n [ 11 -2 13 -12 -7]\n [ -8 -3 -11 10 -15]]\n", + "output_type": "stream" + } + ], + "id": "dd8399a5-03d6-470d-a7e6-6da2e64d2762" + }, + { + "cell_type": "markdown", + "source": "9. Задание\n- создайте матрицу 3 на 5 со случайными целыми числами в диапазоне от -15 до 15\n- найдите максимум и минимум\n- найдите среднее по столбцам\n- найдите среднее по строкам", + "metadata": { + "id": "floral-difference" + }, + "id": "5478caf8-a48d-4220-b0dc-22b50040c880" + }, + { + "cell_type": "code", + "source": "first = np.random.randint(-15, 15, 15).reshape(3,5)\nprint(first)\nprint(first.max())\nprint(first.min())\nprint(first.mean(0))\nprint(first.mean(1))\n\n", + "metadata": { + "id": "saving-conference", + "trusted": true + }, + "execution_count": 17, + "outputs": [ + { + "name": "stdout", + "text": "[[-15 6 2 3 -8]\n [ 14 7 -12 -2 12]\n [ 2 -7 10 2 12]]\n14\n-15\n[0.33333333 2. 0. 1. 5.33333333]\n[-2.4 3.8 3.8]\n", + "output_type": "stream" + } + ], + "id": "bf232d70-0998-4b85-9835-48f31f341f23" + }, + { + "cell_type": "markdown", + "source": "10. Задание\n- даны две матрицы\n- убедитесь, что их можно пермножить\n- произведите операцию умножения матриц, если это возможно, иначе выведите ошибку", + "metadata": { + "id": "diagnostic-departure" + }, + "id": "c56a8f91-5f90-4ad5-b725-e33f3fa89d42" + }, + { + "cell_type": "code", + "source": "a = np.random.randint(-10, 10, (2, 5))\nfirst_axis = np.random.randint(4, 6)\nb = np.random.randint(-10, 10, (first_axis, 3))\nif a.shape[1] == b.shape[0]:\n print(a @ b)\nelse:\n print(\"ошибка\")", + "metadata": { + "id": "olympic-qatar", + "trusted": true + }, + "execution_count": 18, + "outputs": [ + { + "name": "stdout", + "text": "ошибка\n", + "output_type": "stream" + } + ], + "id": "d94c573a-561f-40c1-9669-2ea7997a9a2f" + }, + { + "cell_type": "markdown", + "source": "11. Задание\n- создайте матрицу 5 на 5 заполненную равномерным распределением с диапазоно 2-12\n- заполните все элементы ниже главной диагонали нулями", + "metadata": { + "id": "governmental-austin" + }, + "id": "e40f3fbc-c6dd-4588-8553-a64869a2ec00" + }, + { + "cell_type": "code", + "source": "mask = np.random.uniform(2, 12, (5, 5)) \nmask[np.tril_indices(mask.shape[0], -1)] = 0\n\nprint(mask)", + "metadata": { + "id": "suffering-mauritius", + "trusted": true + }, + "execution_count": 19, + "outputs": [ + { + "name": "stdout", + "text": "[[ 9.2100844 3.50089313 10.20536248 8.68024948 10.88132575]\n [ 0. 4.33409912 7.56655632 7.7462597 9.53943801]\n [ 0. 0. 2.43949394 6.53629363 3.15721657]\n [ 0. 0. 0. 2.27800496 5.66815189]\n [ 0. 0. 0. 0. 9.14753241]]\n", + "output_type": "stream" + } + ], + "id": "5844bac4-a7b2-43a1-b2a2-9f532e7d6b98" + }, + { + "cell_type": "markdown", + "source": "12. Задание\n- создайте матрицу 5 на 5 заполненную нормальным распределением с парметрами среднее 10 и отклонение 2\n- заполните все элементы на главной диагонали нулями", + "metadata": { + "id": "altered-baghdad" + }, + "id": "6324be19-e7f7-4516-ade5-9d41ac617248" + }, + { + "cell_type": "code", + "source": "mask = f = np.random.normal(10,2, 25).reshape(5,5)\nmask[np.diag_indices(mask.shape[0])] = 0\n\nprint(mask)", + "metadata": { + "id": "refined-stuff" + }, + "execution_count": null, + "outputs": [], + "id": "006dfd64-02e7-44e5-bed0-6c297fe17a8d" + }, + { + "cell_type": "markdown", + "source": "13. Задание\n- дано два массива, проверить одинаковы ли они", + "metadata": { + "id": "quiet-complement" + }, + "id": "ecf6399d-4da5-4abf-8aeb-e169db90c8f7" + }, + { + "cell_type": "code", + "source": "a = np.random.randint(0,2,5)\nprint(a)\nb = np.random.randint(0,2,5)\nprint(b)\nequal = np.array_equal(a, b) \nprint(equal)", + "metadata": { + "id": "french-fighter", + "trusted": true + }, + "execution_count": 20, + "outputs": [ + { + "name": "stdout", + "text": "[0 1 1 0 0]\n[0 0 0 1 0]\nFalse\n", + "output_type": "stream" + } + ], + "id": "bc8e8c74-9648-4140-8f93-63d3529ce9bb" + }, + { + "cell_type": "markdown", + "source": "14. Задание\n- сгенерируйте матрицу случайного размера:\n - строк от 3 до 7\n - столбцов от 2 до 12\n- сгенерируйте число N - размер выборки так, чтобы оно не превышало половину количества элементов сгенерированной матрицы, но было больше 0\n- сделайте случайную выборку N элементов", + "metadata": { + "id": "color-amplifier" + }, + "id": "f32ab508-031a-4ac5-aa29-5681f7f38436" + }, + { + "cell_type": "code", + "source": "r, c = np.random.randint(3,7), np.random.randint(2,12)\na = np.ndarray((r,c))\nprint(a)\nN = np.random.randint(0,a.size /2)\nprint(N)\nsample = np.random.choice(a.flatten(),N)\nprint(sample)", + "metadata": { + "id": "close-daisy", + "trusted": true + }, + "execution_count": 21, + "outputs": [ + { + "name": "stdout", + "text": "[[1. 1. 1. 1.]\n [1. 1. 1. 1.]\n [1. 1. 1. 1.]]\n5\n[1. 1. 1. 1. 1.]\n", + "output_type": "stream" + } + ], + "id": "47403ec3-cdda-4e94-9e65-caaeaaa11746" + }, + { + "cell_type": "markdown", + "source": "15. Задание\n- дан вектор, проверить есть в нем Nan\n- проверить есть в нем знак бесконечности\n- заполнить их нулями", + "metadata": { + "id": "patent-african" + }, + "id": "1c496d40-6c01-4419-bb85-b4769d163fcc" + }, + { + "cell_type": "code", + "source": "a = np.array([1, np.NaN, np.Inf], float)\na = np.where(np.isnan(a) | np.isinf(a),0,a)\nprint(a)", + "metadata": { + "id": "taken-fabric", + "trusted": true + }, + "execution_count": 22, + "outputs": [ + { + "name": "stdout", + "text": "[1. 0. 0.]\n", + "output_type": "stream" + } + ], + "id": "c70702a0-9534-4e0f-96d5-3856f1648640" + }, + { + "cell_type": "markdown", + "source": "16. Задание\n- сгенерировать массив с произвольным числом осей\n- определить сколько у него осей", + "metadata": { + "id": "analyzed-ireland" + }, + "id": "ec546e7d-5651-46d8-a7d0-11393a098e0b" + }, + { + "cell_type": "code", + "source": "axis = np.random.randint(1,10)\nprint(axis)\nmatrix = np.ndarray(tuple(range(axis)))\nprint(matrix.ndim)", + "metadata": { + "id": "imposed-digest", + "trusted": true + }, + "execution_count": 23, + "outputs": [ + { + "name": "stdout", + "text": "8\n8\n", + "output_type": "stream" + } + ], + "id": "27f83846-e0bc-4028-bf33-0b61e0c00fa5" + }, + { + "cell_type": "markdown", + "source": "17. Задание\n- сгенерируйте матрицу 10 на 3 с нормальным распределением, среднее 50, отклонение 10\n- найдите индексы максимальных элементов в каждой строке\n- найдите сами элементы", + "metadata": { + "id": "regulation-colleague" + }, + "id": "28de2ecb-15a3-4200-bdb8-f4213c270b34" + }, + { + "cell_type": "code", + "source": "matrix = np.random.normal(50, 10, (10,3)).astype(int) \nprint(matrix)\nindexes = matrix.argmax(1)\nprint(indexes)\nprint(matrix.max(1))", + "metadata": { + "id": "concerned-anthropology", + "trusted": true + }, + "execution_count": 24, + "outputs": [ + { + "name": "stdout", + "text": "[[55 53 46]\n [58 50 54]\n [57 61 53]\n [43 40 40]\n [46 52 39]\n [56 65 45]\n [51 66 23]\n [50 42 61]\n [62 41 29]\n [61 50 45]]\n[0 0 1 0 1 1 1 2 0 0]\n[55 58 61 43 52 65 66 61 62 61]\n", + "output_type": "stream" + } + ], + "id": "308b60ed-f124-427a-8abe-2d64e59a7c8e" + }, + { + "cell_type": "code", + "source": "", + "metadata": {}, + "execution_count": null, + "outputs": [], + "id": "6d8fdf90-6943-4250-bdec-cd878628399e" + } + ] +} \ No newline at end of file From cd2c883f5af967b5a350faf1e4c3600eaadc8e75 Mon Sep 17 00:00:00 2001 From: "Alexey.Vinichenko@urfu.me" Date: Sat, 21 May 2022 14:31:27 +0500 Subject: [PATCH 2/2] pandas --- Pandas (06.03)/Pandas. Task. Part 1.ipynb | 629 +++++++++++++++++- .../Pandas and EDA. Task.ipynb | 296 ++++++++- 2 files changed, 923 insertions(+), 2 deletions(-) diff --git a/Pandas (06.03)/Pandas. Task. Part 1.ipynb b/Pandas (06.03)/Pandas. Task. Part 1.ipynb index 5172e85..668b033 100644 --- a/Pandas (06.03)/Pandas. Task. Part 1.ipynb +++ b/Pandas (06.03)/Pandas. Task. Part 1.ipynb @@ -1 +1,628 @@ -{"nbformat":4,"nbformat_minor":0,"metadata":{"anaconda-cloud":{},"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.7.6"},"colab":{"name":"01_task_pandas.ipynb","provenance":[],"collapsed_sections":[]}},"cells":[{"cell_type":"markdown","metadata":{"id":"UTKVH3sMutTM"},"source":["**В задании предлагается с помощью Pandas ответить на несколько вопросов по данным репозитория UCI [Adult](https://archive.ics.uci.edu/ml/datasets/Adult)**"]},{"cell_type":"markdown","metadata":{"id":"3lUT-CqYutTO"},"source":["Уникальные значения признаков (больше информации по ссылке выше):\n","- age: continuous.\n","- workclass: Private, Self-emp-not-inc, Self-emp-inc, Federal-gov, Local-gov, State-gov, Without-pay, Never-worked.\n","- fnlwgt: continuous.\n","- education: Bachelors, Some-college, 11th, HS-grad, Prof-school, Assoc-acdm, Assoc-voc, 9th, 7th-8th, 12th, Masters, 1st-4th, 10th, Doctorate, 5th-6th, Preschool.\n","- education-num: continuous.\n","- marital-status: Married-civ-spouse, Divorced, Never-married, Separated, Widowed, Married-spouse-absent, Married-AF-spouse.\n","- occupation: Tech-support, Craft-repair, Other-service, Sales, Exec-managerial, Prof-specialty, Handlers-cleaners, Machine-op-inspct, Adm-clerical, Farming-fishing, Transport-moving, Priv-house-serv, Protective-serv, Armed-Forces.\n","- relationship: Wife, Own-child, Husband, Not-in-family, Other-relative, Unmarried.\n","- race: White, Asian-Pac-Islander, Amer-Indian-Eskimo, Other, Black.\n","- sex: Female, Male.\n","- capital-gain: continuous.\n","- capital-loss: continuous.\n","- hours-per-week: continuous.\n","- native-country: United-States, Cambodia, England, Puerto-Rico, Canada, Germany, Outlying-US(Guam-USVI-etc), India, Japan, Greece, South, China, Cuba, Iran, Honduras, Philippines, Italy, Poland, Jamaica, Vietnam, Mexico, Portugal, Ireland, France, Dominican-Republic, Laos, Ecuador, Taiwan, Haiti, Columbia, Hungary, Guatemala, Nicaragua, Scotland, Thailand, Yugoslavia, El-Salvador, Trinadad&Tobago, Peru, Hong, Holand-Netherlands. \n","- salary: >50K,<=50K"]},{"cell_type":"code","metadata":{"id":"6GzulHvOutTR"},"source":["import pandas as pd"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"SJ3LbaoiutTT","colab":{"base_uri":"https://localhost:8080/","height":380},"executionInfo":{"status":"ok","timestamp":1626441443051,"user_tz":-300,"elapsed":499,"user":{"displayName":"Александр Аксёнов","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GhmPE3kg2vafh4QNEoLX_DeI08tDxoR8I8MoJZP=s64","userId":"11145992452404092449"}},"outputId":"eab110b9-0f5f-4bcd-db91-328a0b391379"},"source":["data = pd.read_csv(\"https://raw.githubusercontent.com/aksenov7/Kaggle_competition_group/master/adult.data.csv\")\n","data.head()"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/html":["
\n","\n","\n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
ageworkclassfnlwgteducationeducation-nummarital-statusoccupationrelationshipracesexcapital-gaincapital-losshours-per-weeknative-countrysalary
039State-gov77516Bachelors13Never-marriedAdm-clericalNot-in-familyWhiteMale2174040United-States<=50K
150Self-emp-not-inc83311Bachelors13Married-civ-spouseExec-managerialHusbandWhiteMale0013United-States<=50K
238Private215646HS-grad9DivorcedHandlers-cleanersNot-in-familyWhiteMale0040United-States<=50K
353Private23472111th7Married-civ-spouseHandlers-cleanersHusbandBlackMale0040United-States<=50K
428Private338409Bachelors13Married-civ-spouseProf-specialtyWifeBlackFemale0040Cuba<=50K
\n","
"],"text/plain":[" age workclass fnlwgt ... hours-per-week native-country salary\n","0 39 State-gov 77516 ... 40 United-States <=50K\n","1 50 Self-emp-not-inc 83311 ... 13 United-States <=50K\n","2 38 Private 215646 ... 40 United-States <=50K\n","3 53 Private 234721 ... 40 United-States <=50K\n","4 28 Private 338409 ... 40 Cuba <=50K\n","\n","[5 rows x 15 columns]"]},"metadata":{"tags":[]},"execution_count":3}]},{"cell_type":"code","metadata":{"id":"EpQFv8t1ds05"},"source":["# def married(row):\n","# return \"Married\" in row\n","data[\"married\"] = data[\"marital-status\"].apply(lambda row: \"Married\" in row)"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":756},"id":"3Bb2mRTEeoJK","executionInfo":{"status":"ok","timestamp":1626441731759,"user_tz":-300,"elapsed":481,"user":{"displayName":"Александр Аксёнов","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GhmPE3kg2vafh4QNEoLX_DeI08tDxoR8I8MoJZP=s64","userId":"11145992452404092449"}},"outputId":"9dd7d83b-f51a-4e11-f6dc-035a844f81c9"},"source":["data"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/html":["
\n","\n","\n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
ageworkclassfnlwgteducationeducation-nummarital-statusoccupationrelationshipracesexcapital-gaincapital-losshours-per-weeknative-countrysalarymarried
039State-gov77516Bachelors13Never-marriedAdm-clericalNot-in-familyWhiteMale2174040United-States<=50KFalse
150Self-emp-not-inc83311Bachelors13Married-civ-spouseExec-managerialHusbandWhiteMale0013United-States<=50KTrue
238Private215646HS-grad9DivorcedHandlers-cleanersNot-in-familyWhiteMale0040United-States<=50KFalse
353Private23472111th7Married-civ-spouseHandlers-cleanersHusbandBlackMale0040United-States<=50KTrue
428Private338409Bachelors13Married-civ-spouseProf-specialtyWifeBlackFemale0040Cuba<=50KTrue
...................................................
3255627Private257302Assoc-acdm12Married-civ-spouseTech-supportWifeWhiteFemale0038United-States<=50KTrue
3255740Private154374HS-grad9Married-civ-spouseMachine-op-inspctHusbandWhiteMale0040United-States>50KTrue
3255858Private151910HS-grad9WidowedAdm-clericalUnmarriedWhiteFemale0040United-States<=50KFalse
3255922Private201490HS-grad9Never-marriedAdm-clericalOwn-childWhiteMale0020United-States<=50KFalse
3256052Self-emp-inc287927HS-grad9Married-civ-spouseExec-managerialWifeWhiteFemale15024040United-States>50KTrue
\n","

32561 rows × 16 columns

\n","
"],"text/plain":[" age workclass fnlwgt ... native-country salary married\n","0 39 State-gov 77516 ... United-States <=50K False\n","1 50 Self-emp-not-inc 83311 ... United-States <=50K True\n","2 38 Private 215646 ... United-States <=50K False\n","3 53 Private 234721 ... United-States <=50K True\n","4 28 Private 338409 ... Cuba <=50K True\n","... ... ... ... ... ... ... ...\n","32556 27 Private 257302 ... United-States <=50K True\n","32557 40 Private 154374 ... United-States >50K True\n","32558 58 Private 151910 ... United-States <=50K False\n","32559 22 Private 201490 ... United-States <=50K False\n","32560 52 Self-emp-inc 287927 ... United-States >50K True\n","\n","[32561 rows x 16 columns]"]},"metadata":{"tags":[]},"execution_count":10}]},{"cell_type":"markdown","metadata":{"id":"MoK8B5fIutTW"},"source":["**1. Сколько мужчин и женщин (признак *sex*) представлено в этом наборе данных?**"]},{"cell_type":"code","metadata":{"collapsed":true,"id":"hdzky90TutTY"},"source":["# Ваш код здесь"],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"adF8lgVbutTZ"},"source":["**2. Каков средний возраст (признак *age*) женщин?**"]},{"cell_type":"code","metadata":{"collapsed":true,"id":"K6C2qZ_zutTb"},"source":["# Ваш код здесь"],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"-Cz1S7-HutTd"},"source":["**3. Какова доля граждан Германии (признак *native-country*)?**"]},{"cell_type":"code","metadata":{"collapsed":true,"id":"Y4mmqN6outTf"},"source":["# Ваш код здесь"],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"Do-rEgaautTg"},"source":["**4-5. Каковы средние значения и среднеквадратичные отклонения возраста тех, кто получает более 50K в год (признак *salary*) и тех, кто получает менее 50K в год? **"]},{"cell_type":"code","metadata":{"collapsed":true,"id":"eSuk0CAnutTh"},"source":["# Ваш код здесь"],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"rK9SwvI_utTj"},"source":["**6. Правда ли, что люди, которые получают больше 50k, имеют как минимум высшее образование? (признак *education – Bachelors, Prof-school, Assoc-acdm, Assoc-voc, Masters* или *Doctorate*)**"]},{"cell_type":"code","metadata":{"collapsed":true,"id":"eygYabkdutTj"},"source":["# Ваш код здесь"],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"4DqPASEsutTk"},"source":["**7. Выведите статистику возраста для каждой расы (признак *race*) и каждого пола. Используйте *groupby* и *describe*. Найдите таким образом максимальный возраст мужчин расы *Amer-Indian-Eskimo*.**"]},{"cell_type":"code","metadata":{"collapsed":true,"id":"fYkBDZMdutTl"},"source":["# Ваш код здесь"],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"cn-jYXhzutTl"},"source":["**8. Среди кого больше доля зарабатывающих много (>50K): среди женатых или холостых мужчин (признак *marital-status*)? Женатыми считаем тех, у кого *marital-status* начинается с *Married* (Married-civ-spouse, Married-spouse-absent или Married-AF-spouse), остальных считаем холостыми.**"]},{"cell_type":"code","metadata":{"collapsed":true,"id":"4hIQXgGAutTm"},"source":["# Ваш код здесь"],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"Rsh8YvoXutTm"},"source":["**9. Какое максимальное число часов человек работает в неделю (признак *hours-per-week*)? Сколько людей работают такое количество часов и каков среди них процент зарабатывающих много?**"]},{"cell_type":"code","metadata":{"collapsed":true,"id":"RK1JQSIZutTn"},"source":["# Ваш код здесь"],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"kUXV84AjutTn"},"source":["**10. Посчитайте среднее время работы (*hours-per-week*) зарабатывающих мало и много (*salary*) для каждой страны (*native-country*).**"]},{"cell_type":"code","metadata":{"collapsed":true,"id":"3gzYG3CDutTn"},"source":["# Ваш код здесь"],"execution_count":null,"outputs":[]}]} \ No newline at end of file +{ + "metadata": { + "anaconda-cloud": {}, + "kernelspec": { + "name": "python", + "display_name": "Pyolite", + "language": "python" + }, + "language_info": { + "codemirror_mode": { + "name": "python", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8" + }, + "colab": { + "name": "01_task_pandas.ipynb", + "provenance": [], + "collapsed_sections": [] + } + }, + "nbformat_minor": 4, + "nbformat": 4, + "cells": [ + { + "cell_type": "markdown", + "source": "**В задании предлагается с помощью Pandas ответить на несколько вопросов по данным репозитория UCI [Adult](https://archive.ics.uci.edu/ml/datasets/Adult)**", + "metadata": { + "id": "UTKVH3sMutTM" + } + }, + { + "cell_type": "markdown", + "source": "Уникальные значения признаков (больше информации по ссылке выше):\n- age: continuous.\n- workclass: Private, Self-emp-not-inc, Self-emp-inc, Federal-gov, Local-gov, State-gov, Without-pay, Never-worked.\n- fnlwgt: continuous.\n- education: Bachelors, Some-college, 11th, HS-grad, Prof-school, Assoc-acdm, Assoc-voc, 9th, 7th-8th, 12th, Masters, 1st-4th, 10th, Doctorate, 5th-6th, Preschool.\n- education-num: continuous.\n- marital-status: Married-civ-spouse, Divorced, Never-married, Separated, Widowed, Married-spouse-absent, Married-AF-spouse.\n- occupation: Tech-support, Craft-repair, Other-service, Sales, Exec-managerial, Prof-specialty, Handlers-cleaners, Machine-op-inspct, Adm-clerical, Farming-fishing, Transport-moving, Priv-house-serv, Protective-serv, Armed-Forces.\n- relationship: Wife, Own-child, Husband, Not-in-family, Other-relative, Unmarried.\n- race: White, Asian-Pac-Islander, Amer-Indian-Eskimo, Other, Black.\n- sex: Female, Male.\n- capital-gain: continuous.\n- capital-loss: continuous.\n- hours-per-week: continuous.\n- native-country: United-States, Cambodia, England, Puerto-Rico, Canada, Germany, Outlying-US(Guam-USVI-etc), India, Japan, Greece, South, China, Cuba, Iran, Honduras, Philippines, Italy, Poland, Jamaica, Vietnam, Mexico, Portugal, Ireland, France, Dominican-Republic, Laos, Ecuador, Taiwan, Haiti, Columbia, Hungary, Guatemala, Nicaragua, Scotland, Thailand, Yugoslavia, El-Salvador, Trinadad&Tobago, Peru, Hong, Holand-Netherlands. \n- salary: >50K,<=50K", + "metadata": { + "id": "3lUT-CqYutTO" + } + }, + { + "cell_type": "code", + "source": "import pandas as pd", + "metadata": { + "id": "6GzulHvOutTR", + "trusted": true + }, + "execution_count": 3, + "outputs": [] + }, + { + "cell_type": "code", + "source": "data = pd.read_csv(\"https://raw.githubusercontent.com/aksenov7/Kaggle_competition_group/master/adult.data.csv\")\ndata.head()", + "metadata": { + "id": "SJ3LbaoiutTT", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 380 + }, + "executionInfo": { + "status": "ok", + "timestamp": 1626441443051, + "user_tz": -300, + "elapsed": 499, + "user": { + "displayName": "Александр Аксёнов", + "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GhmPE3kg2vafh4QNEoLX_DeI08tDxoR8I8MoJZP=s64", + "userId": "11145992452404092449" + } + }, + "outputId": "eab110b9-0f5f-4bcd-db91-328a0b391379", + "trusted": true + }, + "execution_count": 4, + "outputs": [ + { + "ename": "", + "evalue": "", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mURLError\u001b[0m Traceback (most recent call last)", + "Input \u001b[0;32mIn [4]\u001b[0m, in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0m data \u001b[38;5;241m=\u001b[39m \u001b[43mpd\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mread_csv\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mhttps://raw.githubusercontent.com/aksenov7/Kaggle_competition_group/master/adult.data.csv\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2\u001b[0m data\u001b[38;5;241m.\u001b[39mhead()\n", + "File \u001b[0;32m/lib/python3.10/site-packages/pandas/util/_decorators.py:311\u001b[0m, in \u001b[0;36mdeprecate_nonkeyword_arguments..decorate..wrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 305\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(args) \u001b[38;5;241m>\u001b[39m num_allow_args:\n\u001b[1;32m 306\u001b[0m warnings\u001b[38;5;241m.\u001b[39mwarn(\n\u001b[1;32m 307\u001b[0m msg\u001b[38;5;241m.\u001b[39mformat(arguments\u001b[38;5;241m=\u001b[39marguments),\n\u001b[1;32m 308\u001b[0m \u001b[38;5;167;01mFutureWarning\u001b[39;00m,\n\u001b[1;32m 309\u001b[0m stacklevel\u001b[38;5;241m=\u001b[39mstacklevel,\n\u001b[1;32m 310\u001b[0m )\n\u001b[0;32m--> 311\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m func(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n", + "File \u001b[0;32m/lib/python3.10/site-packages/pandas/io/parsers/readers.py:680\u001b[0m, in \u001b[0;36mread_csv\u001b[0;34m(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, skipfooter, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, cache_dates, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, doublequote, escapechar, comment, encoding, encoding_errors, dialect, error_bad_lines, warn_bad_lines, on_bad_lines, delim_whitespace, low_memory, memory_map, float_precision, storage_options)\u001b[0m\n\u001b[1;32m 665\u001b[0m kwds_defaults \u001b[38;5;241m=\u001b[39m _refine_defaults_read(\n\u001b[1;32m 666\u001b[0m dialect,\n\u001b[1;32m 667\u001b[0m delimiter,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 676\u001b[0m defaults\u001b[38;5;241m=\u001b[39m{\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdelimiter\u001b[39m\u001b[38;5;124m\"\u001b[39m: \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m,\u001b[39m\u001b[38;5;124m\"\u001b[39m},\n\u001b[1;32m 677\u001b[0m )\n\u001b[1;32m 678\u001b[0m kwds\u001b[38;5;241m.\u001b[39mupdate(kwds_defaults)\n\u001b[0;32m--> 680\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_read\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfilepath_or_buffer\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkwds\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/lib/python3.10/site-packages/pandas/io/parsers/readers.py:575\u001b[0m, in \u001b[0;36m_read\u001b[0;34m(filepath_or_buffer, kwds)\u001b[0m\n\u001b[1;32m 572\u001b[0m _validate_names(kwds\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mnames\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28;01mNone\u001b[39;00m))\n\u001b[1;32m 574\u001b[0m \u001b[38;5;66;03m# Create the parser.\u001b[39;00m\n\u001b[0;32m--> 575\u001b[0m parser \u001b[38;5;241m=\u001b[39m TextFileReader(filepath_or_buffer, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwds)\n\u001b[1;32m 577\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m chunksize \u001b[38;5;129;01mor\u001b[39;00m iterator:\n\u001b[1;32m 578\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m parser\n", + "File \u001b[0;32m/lib/python3.10/site-packages/pandas/io/parsers/readers.py:933\u001b[0m, in \u001b[0;36mTextFileReader.__init__\u001b[0;34m(self, f, engine, **kwds)\u001b[0m\n\u001b[1;32m 930\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39moptions[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mhas_index_names\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m kwds[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mhas_index_names\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[1;32m 932\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhandles: IOHandles \u001b[38;5;241m|\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m--> 933\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_engine \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_make_engine\u001b[49m\u001b[43m(\u001b[49m\u001b[43mf\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mengine\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/lib/python3.10/site-packages/pandas/io/parsers/readers.py:1217\u001b[0m, in \u001b[0;36mTextFileReader._make_engine\u001b[0;34m(self, f, engine)\u001b[0m\n\u001b[1;32m 1213\u001b[0m mode \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mrb\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 1214\u001b[0m \u001b[38;5;66;03m# error: No overload variant of \"get_handle\" matches argument types\u001b[39;00m\n\u001b[1;32m 1215\u001b[0m \u001b[38;5;66;03m# \"Union[str, PathLike[str], ReadCsvBuffer[bytes], ReadCsvBuffer[str]]\"\u001b[39;00m\n\u001b[1;32m 1216\u001b[0m \u001b[38;5;66;03m# , \"str\", \"bool\", \"Any\", \"Any\", \"Any\", \"Any\", \"Any\"\u001b[39;00m\n\u001b[0;32m-> 1217\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhandles \u001b[38;5;241m=\u001b[39m \u001b[43mget_handle\u001b[49m\u001b[43m(\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m# type: ignore[call-overload]\u001b[39;49;00m\n\u001b[1;32m 1218\u001b[0m \u001b[43m \u001b[49m\u001b[43mf\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1219\u001b[0m \u001b[43m \u001b[49m\u001b[43mmode\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1220\u001b[0m \u001b[43m \u001b[49m\u001b[43mencoding\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43moptions\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mencoding\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1221\u001b[0m \u001b[43m \u001b[49m\u001b[43mcompression\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43moptions\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mcompression\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1222\u001b[0m \u001b[43m \u001b[49m\u001b[43mmemory_map\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43moptions\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mmemory_map\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1223\u001b[0m \u001b[43m \u001b[49m\u001b[43mis_text\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mis_text\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1224\u001b[0m \u001b[43m \u001b[49m\u001b[43merrors\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43moptions\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mencoding_errors\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mstrict\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1225\u001b[0m \u001b[43m \u001b[49m\u001b[43mstorage_options\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43moptions\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mstorage_options\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1226\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1227\u001b[0m \u001b[38;5;28;01massert\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhandles \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 1228\u001b[0m f \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhandles\u001b[38;5;241m.\u001b[39mhandle\n", + "File \u001b[0;32m/lib/python3.10/site-packages/pandas/io/common.py:670\u001b[0m, in \u001b[0;36mget_handle\u001b[0;34m(path_or_buf, mode, encoding, compression, memory_map, is_text, errors, storage_options)\u001b[0m\n\u001b[1;32m 667\u001b[0m codecs\u001b[38;5;241m.\u001b[39mlookup_error(errors)\n\u001b[1;32m 669\u001b[0m \u001b[38;5;66;03m# open URLs\u001b[39;00m\n\u001b[0;32m--> 670\u001b[0m ioargs \u001b[38;5;241m=\u001b[39m \u001b[43m_get_filepath_or_buffer\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 671\u001b[0m \u001b[43m \u001b[49m\u001b[43mpath_or_buf\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 672\u001b[0m \u001b[43m \u001b[49m\u001b[43mencoding\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mencoding\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 673\u001b[0m \u001b[43m \u001b[49m\u001b[43mcompression\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcompression\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 674\u001b[0m \u001b[43m \u001b[49m\u001b[43mmode\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmode\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 675\u001b[0m \u001b[43m \u001b[49m\u001b[43mstorage_options\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstorage_options\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 676\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 678\u001b[0m handle \u001b[38;5;241m=\u001b[39m ioargs\u001b[38;5;241m.\u001b[39mfilepath_or_buffer\n\u001b[1;32m 679\u001b[0m handles: \u001b[38;5;28mlist\u001b[39m[BaseBuffer]\n", + "File \u001b[0;32m/lib/python3.10/site-packages/pandas/io/common.py:339\u001b[0m, in \u001b[0;36m_get_filepath_or_buffer\u001b[0;34m(filepath_or_buffer, encoding, compression, mode, storage_options)\u001b[0m\n\u001b[1;32m 337\u001b[0m \u001b[38;5;66;03m# assuming storage_options is to be interpreted as headers\u001b[39;00m\n\u001b[1;32m 338\u001b[0m req_info \u001b[38;5;241m=\u001b[39m urllib\u001b[38;5;241m.\u001b[39mrequest\u001b[38;5;241m.\u001b[39mRequest(filepath_or_buffer, headers\u001b[38;5;241m=\u001b[39mstorage_options)\n\u001b[0;32m--> 339\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[43murlopen\u001b[49m\u001b[43m(\u001b[49m\u001b[43mreq_info\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mas\u001b[39;00m req:\n\u001b[1;32m 340\u001b[0m content_encoding \u001b[38;5;241m=\u001b[39m req\u001b[38;5;241m.\u001b[39mheaders\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mContent-Encoding\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28;01mNone\u001b[39;00m)\n\u001b[1;32m 341\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m content_encoding \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mgzip\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[1;32m 342\u001b[0m \u001b[38;5;66;03m# Override compression based on Content-Encoding header\u001b[39;00m\n", + "File \u001b[0;32m/lib/python3.10/site-packages/pandas/io/common.py:239\u001b[0m, in \u001b[0;36murlopen\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 233\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 234\u001b[0m \u001b[38;5;124;03mLazy-import wrapper for stdlib urlopen, as that imports a big chunk of\u001b[39;00m\n\u001b[1;32m 235\u001b[0m \u001b[38;5;124;03mthe stdlib.\u001b[39;00m\n\u001b[1;32m 236\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 237\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01murllib\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mrequest\u001b[39;00m\n\u001b[0;32m--> 239\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m urllib\u001b[38;5;241m.\u001b[39mrequest\u001b[38;5;241m.\u001b[39murlopen(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n", + "File \u001b[0;32m/lib/python3.10/urllib/request.py:216\u001b[0m, in \u001b[0;36murlopen\u001b[0;34m(url, data, timeout, cafile, capath, cadefault, context)\u001b[0m\n\u001b[1;32m 214\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 215\u001b[0m opener \u001b[38;5;241m=\u001b[39m _opener\n\u001b[0;32m--> 216\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mopener\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mopen\u001b[49m\u001b[43m(\u001b[49m\u001b[43murl\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdata\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtimeout\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/lib/python3.10/urllib/request.py:519\u001b[0m, in \u001b[0;36mOpenerDirector.open\u001b[0;34m(self, fullurl, data, timeout)\u001b[0m\n\u001b[1;32m 516\u001b[0m req \u001b[38;5;241m=\u001b[39m meth(req)\n\u001b[1;32m 518\u001b[0m sys\u001b[38;5;241m.\u001b[39maudit(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124murllib.Request\u001b[39m\u001b[38;5;124m'\u001b[39m, req\u001b[38;5;241m.\u001b[39mfull_url, req\u001b[38;5;241m.\u001b[39mdata, req\u001b[38;5;241m.\u001b[39mheaders, req\u001b[38;5;241m.\u001b[39mget_method())\n\u001b[0;32m--> 519\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_open\u001b[49m\u001b[43m(\u001b[49m\u001b[43mreq\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdata\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 521\u001b[0m \u001b[38;5;66;03m# post-process response\u001b[39;00m\n\u001b[1;32m 522\u001b[0m meth_name \u001b[38;5;241m=\u001b[39m protocol\u001b[38;5;241m+\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m_response\u001b[39m\u001b[38;5;124m\"\u001b[39m\n", + "File \u001b[0;32m/lib/python3.10/urllib/request.py:541\u001b[0m, in \u001b[0;36mOpenerDirector._open\u001b[0;34m(self, req, data)\u001b[0m\n\u001b[1;32m 538\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m result:\n\u001b[1;32m 539\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m result\n\u001b[0;32m--> 541\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_call_chain\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mhandle_open\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43munknown\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 542\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43munknown_open\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mreq\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/lib/python3.10/urllib/request.py:496\u001b[0m, in \u001b[0;36mOpenerDirector._call_chain\u001b[0;34m(self, chain, kind, meth_name, *args)\u001b[0m\n\u001b[1;32m 494\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m handler \u001b[38;5;129;01min\u001b[39;00m handlers:\n\u001b[1;32m 495\u001b[0m func \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mgetattr\u001b[39m(handler, meth_name)\n\u001b[0;32m--> 496\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 497\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m result \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 498\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m result\n", + "File \u001b[0;32m/lib/python3.10/urllib/request.py:1419\u001b[0m, in \u001b[0;36mUnknownHandler.unknown_open\u001b[0;34m(self, req)\u001b[0m\n\u001b[1;32m 1417\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21munknown_open\u001b[39m(\u001b[38;5;28mself\u001b[39m, req):\n\u001b[1;32m 1418\u001b[0m \u001b[38;5;28mtype\u001b[39m \u001b[38;5;241m=\u001b[39m req\u001b[38;5;241m.\u001b[39mtype\n\u001b[0;32m-> 1419\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m URLError(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124munknown url type: \u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m'\u001b[39m \u001b[38;5;241m%\u001b[39m \u001b[38;5;28mtype\u001b[39m)\n", + "\u001b[0;31mURLError\u001b[0m: " + ], + "output_type": "error" + } + ] + }, + { + "cell_type": "code", + "source": "# def married(row):\n# return \"Married\" in row\ndata[\"married\"] = data[\"marital-status\"].apply(lambda row: \"Married\" in row)", + "metadata": { + "id": "EpQFv8t1ds05" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": "data", + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 756 + }, + "id": "3Bb2mRTEeoJK", + "executionInfo": { + "status": "ok", + "timestamp": 1626441731759, + "user_tz": -300, + "elapsed": 481, + "user": { + "displayName": "Александр Аксёнов", + "photoUrl": "https://lh3.googleusercontent.com/a-/AOh14GhmPE3kg2vafh4QNEoLX_DeI08tDxoR8I8MoJZP=s64", + "userId": "11145992452404092449" + } + }, + "outputId": "9dd7d83b-f51a-4e11-f6dc-035a844f81c9" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "execution_count": 10, + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ageworkclassfnlwgteducationeducation-nummarital-statusoccupationrelationshipracesexcapital-gaincapital-losshours-per-weeknative-countrysalarymarried
039State-gov77516Bachelors13Never-marriedAdm-clericalNot-in-familyWhiteMale2174040United-States<=50KFalse
150Self-emp-not-inc83311Bachelors13Married-civ-spouseExec-managerialHusbandWhiteMale0013United-States<=50KTrue
238Private215646HS-grad9DivorcedHandlers-cleanersNot-in-familyWhiteMale0040United-States<=50KFalse
353Private23472111th7Married-civ-spouseHandlers-cleanersHusbandBlackMale0040United-States<=50KTrue
428Private338409Bachelors13Married-civ-spouseProf-specialtyWifeBlackFemale0040Cuba<=50KTrue
...................................................
3255627Private257302Assoc-acdm12Married-civ-spouseTech-supportWifeWhiteFemale0038United-States<=50KTrue
3255740Private154374HS-grad9Married-civ-spouseMachine-op-inspctHusbandWhiteMale0040United-States>50KTrue
3255858Private151910HS-grad9WidowedAdm-clericalUnmarriedWhiteFemale0040United-States<=50KFalse
3255922Private201490HS-grad9Never-marriedAdm-clericalOwn-childWhiteMale0020United-States<=50KFalse
3256052Self-emp-inc287927HS-grad9Married-civ-spouseExec-managerialWifeWhiteFemale15024040United-States>50KTrue
\n", + "

32561 rows × 16 columns

\n", + "
" + ], + "text/plain": [ + " age workclass fnlwgt ... native-country salary married\n", + "0 39 State-gov 77516 ... United-States <=50K False\n", + "1 50 Self-emp-not-inc 83311 ... United-States <=50K True\n", + "2 38 Private 215646 ... United-States <=50K False\n", + "3 53 Private 234721 ... United-States <=50K True\n", + "4 28 Private 338409 ... Cuba <=50K True\n", + "... ... ... ... ... ... ... ...\n", + "32556 27 Private 257302 ... United-States <=50K True\n", + "32557 40 Private 154374 ... United-States >50K True\n", + "32558 58 Private 151910 ... United-States <=50K False\n", + "32559 22 Private 201490 ... United-States <=50K False\n", + "32560 52 Self-emp-inc 287927 ... United-States >50K True\n", + "\n", + "[32561 rows x 16 columns]" + ] + }, + "metadata": { + "tags": [] + } + } + ] + }, + { + "cell_type": "markdown", + "source": "**1. Сколько мужчин и женщин (признак *sex*) представлено в этом наборе данных?**", + "metadata": { + "id": "MoK8B5fIutTW" + } + }, + { + "cell_type": "code", + "source": "data['sex'].value_counts()", + "metadata": { + "id": "hdzky90TutTY", + "trusted": true + }, + "execution_count": 2, + "outputs": [ + { + "ename": "", + "evalue": "name 'data' is not defined", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "Input \u001b[0;32mIn [2]\u001b[0m, in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mdata\u001b[49m[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124msex\u001b[39m\u001b[38;5;124m'\u001b[39m]\u001b[38;5;241m.\u001b[39mvalue_counts()\n", + "\u001b[0;31mNameError\u001b[0m: name 'data' is not defined" + ], + "output_type": "error" + } + ] + }, + { + "cell_type": "markdown", + "source": "**2. Каков средний возраст (признак *age*) женщин?**", + "metadata": { + "id": "adF8lgVbutTZ" + } + }, + { + "cell_type": "code", + "source": "#data.groupby('sex')['age'].mean()\ndata[data.sex =='Female']['age'].mean()", + "metadata": { + "id": "K6C2qZ_zutTb", + "trusted": true + }, + "execution_count": 4, + "outputs": [ + { + "ename": "", + "evalue": "name 'data' is not defined", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "Input \u001b[0;32mIn [4]\u001b[0m, in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m#data.groupby('sex')['age'].mean()\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m \u001b[43mdata\u001b[49m[data\u001b[38;5;241m.\u001b[39msex \u001b[38;5;241m==\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mFemale\u001b[39m\u001b[38;5;124m'\u001b[39m][\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mage\u001b[39m\u001b[38;5;124m'\u001b[39m]\u001b[38;5;241m.\u001b[39mmean()\n", + "\u001b[0;31mNameError\u001b[0m: name 'data' is not defined" + ], + "output_type": "error" + } + ] + }, + { + "cell_type": "markdown", + "source": "**3. Какова доля граждан Германии (признак *native-country*)?**", + "metadata": { + "id": "-Cz1S7-HutTd" + } + }, + { + "cell_type": "code", + "source": "#import numpy as np\n#np.count_nonzero((data['native-country'] == 'Germany').values == True) / len(data['native-country'])\nlist(data['native-country'] == 'Germany').count(True) / data.shape[0]", + "metadata": { + "collapsed": true, + "id": "Y4mmqN6outTf", + "jupyter": { + "outputs_hidden": true + } + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": "**4-5. Каковы средние значения и среднеквадратичные отклонения возраста тех, кто получает более 50K в год (признак *salary*) и тех, кто получает менее 50K в год? **", + "metadata": { + "id": "Do-rEgaautTg" + } + }, + { + "cell_type": "code", + "source": "import numpy as np\ndata.groupby('salary')['age'].agg([np.mean, np.std])", + "metadata": { + "collapsed": true, + "id": "eSuk0CAnutTh", + "jupyter": { + "outputs_hidden": true + } + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": "**6. Правда ли, что люди, которые получают больше 50k, имеют как минимум высшее образование? (признак *education – Bachelors, Prof-school, Assoc-acdm, Assoc-voc, Masters* или *Doctorate*)**", + "metadata": { + "id": "rK9SwvI_utTj" + } + }, + { + "cell_type": "code", + "source": "high_educ = ['Bachelors', 'Prof-school', 'Assoc-acdm', 'Assoc-voc', 'Masters', 'Doctorate']\nall(list(data[data.salary == '>50K']['education'].apply(lambda value: value in high_educ)))", + "metadata": { + "collapsed": true, + "id": "eygYabkdutTj", + "jupyter": { + "outputs_hidden": true + } + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": "**7. Выведите статистику возраста для каждой расы (признак *race*) и каждого пола. Используйте *groupby* и *describe*. Найдите таким образом максимальный возраст мужчин расы *Amer-Indian-Eskimo*.**", + "metadata": { + "id": "4DqPASEsutTk" + } + }, + { + "cell_type": "code", + "source": "data.groupby(['race', 'sex']).describe()['age']", + "metadata": { + "collapsed": true, + "id": "fYkBDZMdutTl", + "jupyter": { + "outputs_hidden": true + } + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": "**8. Среди кого больше доля зарабатывающих много (>50K): среди женатых или холостых мужчин (признак *marital-status*)? Женатыми считаем тех, у кого *marital-status* начинается с *Married* (Married-civ-spouse, Married-spouse-absent или Married-AF-spouse), остальных считаем холостыми.**", + "metadata": { + "id": "cn-jYXhzutTl" + } + }, + { + "cell_type": "code", + "source": "data[data.sex == 'Male'].groupby('married')['salary'].value_counts(normalize=True)", + "metadata": { + "collapsed": true, + "id": "4hIQXgGAutTm", + "jupyter": { + "outputs_hidden": true + } + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": "**9. Какое максимальное число часов человек работает в неделю (признак *hours-per-week*)? Сколько людей работают такое количество часов и каков среди них процент зарабатывающих много?**", + "metadata": { + "id": "Rsh8YvoXutTm" + } + }, + { + "cell_type": "code", + "source": "max_hours = data['hours-per-week'].max()\npeople_count = data[data['hours-per-week'] == max_hours].shape[0]\npercentage = int(data[(data['hours-per-week'] == max_hours) & (data['salary'] == '>50K')].shape[0] / people_count * 100)\n\nprint('Максимальное число часов человек работает в неделю: {0}'.format(max_hours))\nprint('Такое кол-во часов работают {0} человек'.format(people_count))\nprint('Процент зарабатывающих много: {0}%'.format(percentage))", + "metadata": { + "id": "RK1JQSIZutTn" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": "**10. Посчитайте среднее время работы (*hours-per-week*) зарабатывающих мало и много (*salary*) для каждой страны (*native-country*).**", + "metadata": { + "id": "kUXV84AjutTn" + } + }, + { + "cell_type": "code", + "source": "data.groupby(['native-country', 'salary'])['hours-per-week'].mean()", + "metadata": { + "id": "3gzYG3CDutTn", + "trusted": true + }, + "execution_count": 5, + "outputs": [ + { + "ename": "", + "evalue": "name 'data' is not defined", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "Input \u001b[0;32mIn [5]\u001b[0m, in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mdata\u001b[49m\u001b[38;5;241m.\u001b[39mgroupby([\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mnative-country\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124msalary\u001b[39m\u001b[38;5;124m'\u001b[39m])[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mhours-per-week\u001b[39m\u001b[38;5;124m'\u001b[39m]\u001b[38;5;241m.\u001b[39mmean()\n", + "\u001b[0;31mNameError\u001b[0m: name 'data' is not defined" + ], + "output_type": "error" + } + ] + }, + { + "cell_type": "code", + "source": "", + "metadata": {}, + "execution_count": null, + "outputs": [] + } + ] +} \ No newline at end of file diff --git a/Pandas and EDA (12.03)/Pandas and EDA. Task.ipynb b/Pandas and EDA (12.03)/Pandas and EDA. Task.ipynb index bb60a1c..74ac4ec 100644 --- a/Pandas and EDA (12.03)/Pandas and EDA. Task.ipynb +++ b/Pandas and EDA (12.03)/Pandas and EDA. Task.ipynb @@ -1 +1,295 @@ -{"nbformat":4,"nbformat_minor":0,"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"codemirror_mode":{"name":"ipython","version":3},"file_extension":".py","mimetype":"text/x-python","name":"python","nbconvert_exporter":"python","pygments_lexer":"ipython3","version":"3.6.8"},"colab":{"name":"02_pandas_task.ipynb","provenance":[],"collapsed_sections":[]}},"cells":[{"cell_type":"markdown","metadata":{"id":"EmV0s8YY05p7"},"source":["- __ID__ - Unique number for each athlete\n","- __Name__ - Athlete's name\n","- __Sex__ - M or F\n","- __Age__ - Integer\n","- __Height__ - In centimeters\n","- __Weight__ - In kilograms\n","- __Team__ - Team name\n","- __NOC__ - National Olympic Committee 3-letter code\n","- __Games__ - Year and season\n","- __Year__ - Integer\n","- __Season__ - Summer or Winter\n","- __City__ - Host city\n","- __Sport__ - Sport\n","- __Event__ - Event\n","- __Medal__ - Gold, Silver, Bronze, or NA"]},{"cell_type":"code","metadata":{"id":"rVCrMDMh05p_"},"source":["import pandas as pd"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"D5Q4Z-JW05qC"},"source":["# не меняем путь!\n","PATH = 'https://github.com/aksenov7/Kaggle_competition_group/blob/master/athlete_events.csv.zip?raw=true'"],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"mI0LtqkY4Kp-"},"source":["__0. Откройте файл используя необходимые параметры и не меняя переменную PATH__"]},{"cell_type":"code","metadata":{"id":"h5SQwBLr05qG","colab":{"base_uri":"https://localhost:8080/","height":206},"executionInfo":{"status":"ok","timestamp":1615627554682,"user_tz":-300,"elapsed":2477,"user":{"displayName":"Александр Аксёнов","photoUrl":"https://lh5.googleusercontent.com/-jOf_oDVHsg8/AAAAAAAAAAI/AAAAAAAAAFM/qwdbG0GW_To/s64/photo.jpg","userId":"11145992452404092449"}},"outputId":"882f9e83-5fd7-4c3b-b005-56917b15a0fd"},"source":["data = \n","data.head()"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/html":["
\n","\n","\n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n"," \n","
IDNameSexAgeHeightWeightTeamNOCGamesYearSeasonCitySportEventMedal
01A DijiangM24.0180.080.0ChinaCHN1992 Summer1992SummerBarcelonaBasketballBasketball Men's BasketballNaN
12A LamusiM23.0170.060.0ChinaCHN2012 Summer2012SummerLondonJudoJudo Men's Extra-LightweightNaN
23Gunnar Nielsen AabyM24.0NaNNaNDenmarkDEN1920 Summer1920SummerAntwerpenFootballFootball Men's FootballNaN
34Edgar Lindenau AabyeM34.0NaNNaNDenmark/SwedenDEN1900 Summer1900SummerParisTug-Of-WarTug-Of-War Men's Tug-Of-WarGold
45Christine Jacoba AaftinkF21.0185.082.0NetherlandsNED1988 Winter1988WinterCalgarySpeed SkatingSpeed Skating Women's 500 metresNaN
\n","
"],"text/plain":[" ID Name ... Event Medal\n","0 1 A Dijiang ... Basketball Men's Basketball NaN\n","1 2 A Lamusi ... Judo Men's Extra-Lightweight NaN\n","2 3 Gunnar Nielsen Aaby ... Football Men's Football NaN\n","3 4 Edgar Lindenau Aabye ... Tug-Of-War Men's Tug-Of-War Gold\n","4 5 Christine Jacoba Aaftink ... Speed Skating Women's 500 metres NaN\n","\n","[5 rows x 15 columns]"]},"metadata":{"tags":[]},"execution_count":3}]},{"cell_type":"markdown","metadata":{"id":"stYR4EbV05qP"},"source":["__1. Сколько лет было самым молодым мужчинам и женщинам-участникам Олимпийских игр 1992 года ?__\n","- 16 и 15\n","- 14 и 13 \n","- 13 и 11\n","- 11 и 12"]},{"cell_type":"code","metadata":{"id":"HgiqBXtb05qR"},"source":[""],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"GQ290dsi05qc"},"source":["__2. Каков был процент баскетболистов-мужчин среди всех мужчин-участников Олимпийских игр 2012 года? Округлите ответ до первого десятичного знака.__\n","\n","Здесь и далее при необходимости отбрасывайте дублированных спортсменов, чтобы считать только уникальных . \n","- 0.2\n","- 1.5 \n","- 2.5\n","- 7.7"]},{"cell_type":"code","metadata":{"id":"-fI5MqWP05qi"},"source":[""],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"u5WrTgIC05qv"},"source":["__3. Каковы среднее и стандартное отклонение роста теннисисток, участвовавших в Олимпийских играх 2000 года? Округлите ответ до первого десятичного знака.__\n","\n","- 171.8 и 6.5\n","- 179.4 и 10\n","- 180.7 и 6.7\n","- 182.4 и 9.1 "]},{"cell_type":"code","metadata":{"id":"vsKTqn6405qw"},"source":[""],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"xOOEzhNQ05qy"},"source":["__4. Найдите спортсмена, который участвовал в Олимпийских играх 2006 года, с наибольшим весом среди других участников той же Олимпиады. Каким спортом он или она занимался?__\n","\n","- Judo\n","- Bobsleigh \n","- Skeleton\n","- Boxing"]},{"cell_type":"code","metadata":{"id":"EkWD1Tnb05qz"},"source":[""],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"UQzxZ3HT05q0"},"source":["__5. Сколько раз John Aalberg участвовал в Олимпийских играх в разные годы?__\n","\n","Один год - это один раз. Неважно сколько участий внутри одного года\n","- 0\n","- 1 \n","- 2\n","- 3 "]},{"cell_type":"code","metadata":{"id":"ZSfkdjPO05q0"},"source":[""],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"8EnLcNrk05q3"},"source":["__6. Сколько золотых медалей по теннису выиграли спортсмены сборной Switzerland на Олимпиаде-2008? Считайте каждую медаль от каждого спортсмена.__\n","\n","- 0\n","- 1 \n","- 2\n","- 3 "]},{"cell_type":"code","metadata":{"id":"Y754OGI-05q3"},"source":[""],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"v3h5sQF805q5"},"source":["__7. Правда ли, что на Олимпийских играх 2016 Spain выиграла меньше медалей, чем Италия?__ \n","\n","- Да\n","- Нет"]},{"cell_type":"code","metadata":{"id":"gqJqDi2605q7"},"source":[""],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"kkSYL5mK05q-"},"source":["__8. К какой возрастной категории принадлежало наименьшее и наибольшее количество участников Олимпиады-2008?__\n","\n","- [45-55] и [25-35) соответственно\n","- [45-55] и [15-25) соответственно\n","- [35-45) и [25-35) соответственно\n","- [45-55] и [35-45) соответственно"]},{"cell_type":"code","metadata":{"id":"pMAQtW7i05q_"},"source":[""],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"JQmJPiXv05rB"},"source":["__9. Правда ли, что в Atlanta проводились летние Олимпийские игры? Правда ли, что в Squaw Valley проводились зимние Олимпийские игры? ?__\n","\n","- Да, Да\n","- Да, Нет\n","- Нет, Да \n","- Нет, Нет "]},{"cell_type":"code","metadata":{"id":"UU66wRHC05rB"},"source":[""],"execution_count":null,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"4hxR5D-t05rF"},"source":["__10. Какова абсолютная разница между количеством уникальных видов спорта на Олимпиаде 1986 года и Олимпиаде 2002 года?__\n","\n","- 3 \n","- 10\n","- 15\n","- 27 "]},{"cell_type":"code","metadata":{"id":"WKIr-TR105rF"},"source":[""],"execution_count":null,"outputs":[]}]} \ No newline at end of file +{ + "metadata": { + "kernelspec": { + "name": "python", + "display_name": "Pyolite", + "language": "python" + }, + "language_info": { + "codemirror_mode": { + "name": "python", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8" + }, + "colab": { + "name": "02_pandas_task.ipynb", + "provenance": [], + "collapsed_sections": [] + } + }, + "nbformat_minor": 4, + "nbformat": 4, + "cells": [ + { + "cell_type": "markdown", + "source": "- __ID__ - Unique number for each athlete\n- __Name__ - Athlete's name\n- __Sex__ - M or F\n- __Age__ - Integer\n- __Height__ - In centimeters\n- __Weight__ - In kilograms\n- __Team__ - Team name\n- __NOC__ - National Olympic Committee 3-letter code\n- __Games__ - Year and season\n- __Year__ - Integer\n- __Season__ - Summer or Winter\n- __City__ - Host city\n- __Sport__ - Sport\n- __Event__ - Event\n- __Medal__ - Gold, Silver, Bronze, or NA", + "metadata": { + "id": "EmV0s8YY05p7" + } + }, + { + "cell_type": "code", + "source": "import pandas as pd", + "metadata": { + "id": "rVCrMDMh05p_", + "trusted": true + }, + "execution_count": 1, + "outputs": [] + }, + { + "cell_type": "code", + "source": "# не меняем путь!\nPATH = 'https://github.com/aksenov7/Kaggle_competition_group/blob/master/athlete_events.csv.zip?raw=true'", + "metadata": { + "id": "D5Q4Z-JW05qC", + "trusted": true + }, + "execution_count": 2, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": "__0. Откройте файл используя необходимые параметры и не меняя переменную PATH__", + "metadata": { + "id": "mI0LtqkY4Kp-" + } + }, + { + "cell_type": "code", + "source": "data = pd.read_csv(PATH, compression='zip', sep=',')\ndata.head()", + "metadata": { + "id": "h5SQwBLr05qG", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 206 + }, + "executionInfo": { + "status": "ok", + "timestamp": 1615627554682, + "user_tz": -300, + "elapsed": 2477, + "user": { + "displayName": "Александр Аксёнов", + "photoUrl": "https://lh5.googleusercontent.com/-jOf_oDVHsg8/AAAAAAAAAAI/AAAAAAAAAFM/qwdbG0GW_To/s64/photo.jpg", + "userId": "11145992452404092449" + } + }, + "outputId": "882f9e83-5fd7-4c3b-b005-56917b15a0fd", + "trusted": true + }, + "execution_count": 3, + "outputs": [ + { + "ename": "", + "evalue": "", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mURLError\u001b[0m Traceback (most recent call last)", + "Input \u001b[0;32mIn [3]\u001b[0m, in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0m data \u001b[38;5;241m=\u001b[39m \u001b[43mpd\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mread_csv\u001b[49m\u001b[43m(\u001b[49m\u001b[43mPATH\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcompression\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mzip\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msep\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43m,\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2\u001b[0m data\u001b[38;5;241m.\u001b[39mhead()\n", + "File \u001b[0;32m/lib/python3.10/site-packages/pandas/util/_decorators.py:311\u001b[0m, in \u001b[0;36mdeprecate_nonkeyword_arguments..decorate..wrapper\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 305\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(args) \u001b[38;5;241m>\u001b[39m num_allow_args:\n\u001b[1;32m 306\u001b[0m warnings\u001b[38;5;241m.\u001b[39mwarn(\n\u001b[1;32m 307\u001b[0m msg\u001b[38;5;241m.\u001b[39mformat(arguments\u001b[38;5;241m=\u001b[39marguments),\n\u001b[1;32m 308\u001b[0m \u001b[38;5;167;01mFutureWarning\u001b[39;00m,\n\u001b[1;32m 309\u001b[0m stacklevel\u001b[38;5;241m=\u001b[39mstacklevel,\n\u001b[1;32m 310\u001b[0m )\n\u001b[0;32m--> 311\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m func(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n", + "File \u001b[0;32m/lib/python3.10/site-packages/pandas/io/parsers/readers.py:680\u001b[0m, in \u001b[0;36mread_csv\u001b[0;34m(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, skipfooter, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, cache_dates, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, doublequote, escapechar, comment, encoding, encoding_errors, dialect, error_bad_lines, warn_bad_lines, on_bad_lines, delim_whitespace, low_memory, memory_map, float_precision, storage_options)\u001b[0m\n\u001b[1;32m 665\u001b[0m kwds_defaults \u001b[38;5;241m=\u001b[39m _refine_defaults_read(\n\u001b[1;32m 666\u001b[0m dialect,\n\u001b[1;32m 667\u001b[0m delimiter,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 676\u001b[0m defaults\u001b[38;5;241m=\u001b[39m{\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdelimiter\u001b[39m\u001b[38;5;124m\"\u001b[39m: \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m,\u001b[39m\u001b[38;5;124m\"\u001b[39m},\n\u001b[1;32m 677\u001b[0m )\n\u001b[1;32m 678\u001b[0m kwds\u001b[38;5;241m.\u001b[39mupdate(kwds_defaults)\n\u001b[0;32m--> 680\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_read\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfilepath_or_buffer\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkwds\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/lib/python3.10/site-packages/pandas/io/parsers/readers.py:575\u001b[0m, in \u001b[0;36m_read\u001b[0;34m(filepath_or_buffer, kwds)\u001b[0m\n\u001b[1;32m 572\u001b[0m _validate_names(kwds\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mnames\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28;01mNone\u001b[39;00m))\n\u001b[1;32m 574\u001b[0m \u001b[38;5;66;03m# Create the parser.\u001b[39;00m\n\u001b[0;32m--> 575\u001b[0m parser \u001b[38;5;241m=\u001b[39m TextFileReader(filepath_or_buffer, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwds)\n\u001b[1;32m 577\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m chunksize \u001b[38;5;129;01mor\u001b[39;00m iterator:\n\u001b[1;32m 578\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m parser\n", + "File \u001b[0;32m/lib/python3.10/site-packages/pandas/io/parsers/readers.py:933\u001b[0m, in \u001b[0;36mTextFileReader.__init__\u001b[0;34m(self, f, engine, **kwds)\u001b[0m\n\u001b[1;32m 930\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39moptions[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mhas_index_names\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m kwds[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mhas_index_names\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[1;32m 932\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhandles: IOHandles \u001b[38;5;241m|\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m--> 933\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_engine \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_make_engine\u001b[49m\u001b[43m(\u001b[49m\u001b[43mf\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mengine\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/lib/python3.10/site-packages/pandas/io/parsers/readers.py:1217\u001b[0m, in \u001b[0;36mTextFileReader._make_engine\u001b[0;34m(self, f, engine)\u001b[0m\n\u001b[1;32m 1213\u001b[0m mode \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mrb\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 1214\u001b[0m \u001b[38;5;66;03m# error: No overload variant of \"get_handle\" matches argument types\u001b[39;00m\n\u001b[1;32m 1215\u001b[0m \u001b[38;5;66;03m# \"Union[str, PathLike[str], ReadCsvBuffer[bytes], ReadCsvBuffer[str]]\"\u001b[39;00m\n\u001b[1;32m 1216\u001b[0m \u001b[38;5;66;03m# , \"str\", \"bool\", \"Any\", \"Any\", \"Any\", \"Any\", \"Any\"\u001b[39;00m\n\u001b[0;32m-> 1217\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhandles \u001b[38;5;241m=\u001b[39m \u001b[43mget_handle\u001b[49m\u001b[43m(\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;66;43;03m# type: ignore[call-overload]\u001b[39;49;00m\n\u001b[1;32m 1218\u001b[0m \u001b[43m \u001b[49m\u001b[43mf\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1219\u001b[0m \u001b[43m \u001b[49m\u001b[43mmode\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1220\u001b[0m \u001b[43m \u001b[49m\u001b[43mencoding\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43moptions\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mencoding\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1221\u001b[0m \u001b[43m \u001b[49m\u001b[43mcompression\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43moptions\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mcompression\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1222\u001b[0m \u001b[43m \u001b[49m\u001b[43mmemory_map\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43moptions\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mmemory_map\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1223\u001b[0m \u001b[43m \u001b[49m\u001b[43mis_text\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mis_text\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1224\u001b[0m \u001b[43m \u001b[49m\u001b[43merrors\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43moptions\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mencoding_errors\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mstrict\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1225\u001b[0m \u001b[43m \u001b[49m\u001b[43mstorage_options\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43moptions\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mstorage_options\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1226\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1227\u001b[0m \u001b[38;5;28;01massert\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhandles \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 1228\u001b[0m f \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhandles\u001b[38;5;241m.\u001b[39mhandle\n", + "File \u001b[0;32m/lib/python3.10/site-packages/pandas/io/common.py:670\u001b[0m, in \u001b[0;36mget_handle\u001b[0;34m(path_or_buf, mode, encoding, compression, memory_map, is_text, errors, storage_options)\u001b[0m\n\u001b[1;32m 667\u001b[0m codecs\u001b[38;5;241m.\u001b[39mlookup_error(errors)\n\u001b[1;32m 669\u001b[0m \u001b[38;5;66;03m# open URLs\u001b[39;00m\n\u001b[0;32m--> 670\u001b[0m ioargs \u001b[38;5;241m=\u001b[39m \u001b[43m_get_filepath_or_buffer\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 671\u001b[0m \u001b[43m \u001b[49m\u001b[43mpath_or_buf\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 672\u001b[0m \u001b[43m \u001b[49m\u001b[43mencoding\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mencoding\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 673\u001b[0m \u001b[43m \u001b[49m\u001b[43mcompression\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcompression\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 674\u001b[0m \u001b[43m \u001b[49m\u001b[43mmode\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mmode\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 675\u001b[0m \u001b[43m \u001b[49m\u001b[43mstorage_options\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mstorage_options\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 676\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 678\u001b[0m handle \u001b[38;5;241m=\u001b[39m ioargs\u001b[38;5;241m.\u001b[39mfilepath_or_buffer\n\u001b[1;32m 679\u001b[0m handles: \u001b[38;5;28mlist\u001b[39m[BaseBuffer]\n", + "File \u001b[0;32m/lib/python3.10/site-packages/pandas/io/common.py:339\u001b[0m, in \u001b[0;36m_get_filepath_or_buffer\u001b[0;34m(filepath_or_buffer, encoding, compression, mode, storage_options)\u001b[0m\n\u001b[1;32m 337\u001b[0m \u001b[38;5;66;03m# assuming storage_options is to be interpreted as headers\u001b[39;00m\n\u001b[1;32m 338\u001b[0m req_info \u001b[38;5;241m=\u001b[39m urllib\u001b[38;5;241m.\u001b[39mrequest\u001b[38;5;241m.\u001b[39mRequest(filepath_or_buffer, headers\u001b[38;5;241m=\u001b[39mstorage_options)\n\u001b[0;32m--> 339\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[43murlopen\u001b[49m\u001b[43m(\u001b[49m\u001b[43mreq_info\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mas\u001b[39;00m req:\n\u001b[1;32m 340\u001b[0m content_encoding \u001b[38;5;241m=\u001b[39m req\u001b[38;5;241m.\u001b[39mheaders\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mContent-Encoding\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28;01mNone\u001b[39;00m)\n\u001b[1;32m 341\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m content_encoding \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mgzip\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[1;32m 342\u001b[0m \u001b[38;5;66;03m# Override compression based on Content-Encoding header\u001b[39;00m\n", + "File \u001b[0;32m/lib/python3.10/site-packages/pandas/io/common.py:239\u001b[0m, in \u001b[0;36murlopen\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 233\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 234\u001b[0m \u001b[38;5;124;03mLazy-import wrapper for stdlib urlopen, as that imports a big chunk of\u001b[39;00m\n\u001b[1;32m 235\u001b[0m \u001b[38;5;124;03mthe stdlib.\u001b[39;00m\n\u001b[1;32m 236\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 237\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01murllib\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mrequest\u001b[39;00m\n\u001b[0;32m--> 239\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m urllib\u001b[38;5;241m.\u001b[39mrequest\u001b[38;5;241m.\u001b[39murlopen(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n", + "File \u001b[0;32m/lib/python3.10/urllib/request.py:216\u001b[0m, in \u001b[0;36murlopen\u001b[0;34m(url, data, timeout, cafile, capath, cadefault, context)\u001b[0m\n\u001b[1;32m 214\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 215\u001b[0m opener \u001b[38;5;241m=\u001b[39m _opener\n\u001b[0;32m--> 216\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mopener\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mopen\u001b[49m\u001b[43m(\u001b[49m\u001b[43murl\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdata\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtimeout\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/lib/python3.10/urllib/request.py:519\u001b[0m, in \u001b[0;36mOpenerDirector.open\u001b[0;34m(self, fullurl, data, timeout)\u001b[0m\n\u001b[1;32m 516\u001b[0m req \u001b[38;5;241m=\u001b[39m meth(req)\n\u001b[1;32m 518\u001b[0m sys\u001b[38;5;241m.\u001b[39maudit(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124murllib.Request\u001b[39m\u001b[38;5;124m'\u001b[39m, req\u001b[38;5;241m.\u001b[39mfull_url, req\u001b[38;5;241m.\u001b[39mdata, req\u001b[38;5;241m.\u001b[39mheaders, req\u001b[38;5;241m.\u001b[39mget_method())\n\u001b[0;32m--> 519\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_open\u001b[49m\u001b[43m(\u001b[49m\u001b[43mreq\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdata\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 521\u001b[0m \u001b[38;5;66;03m# post-process response\u001b[39;00m\n\u001b[1;32m 522\u001b[0m meth_name \u001b[38;5;241m=\u001b[39m protocol\u001b[38;5;241m+\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m_response\u001b[39m\u001b[38;5;124m\"\u001b[39m\n", + "File \u001b[0;32m/lib/python3.10/urllib/request.py:541\u001b[0m, in \u001b[0;36mOpenerDirector._open\u001b[0;34m(self, req, data)\u001b[0m\n\u001b[1;32m 538\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m result:\n\u001b[1;32m 539\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m result\n\u001b[0;32m--> 541\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_call_chain\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mhandle_open\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43munknown\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\n\u001b[1;32m 542\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43munknown_open\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mreq\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/lib/python3.10/urllib/request.py:496\u001b[0m, in \u001b[0;36mOpenerDirector._call_chain\u001b[0;34m(self, chain, kind, meth_name, *args)\u001b[0m\n\u001b[1;32m 494\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m handler \u001b[38;5;129;01min\u001b[39;00m handlers:\n\u001b[1;32m 495\u001b[0m func \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mgetattr\u001b[39m(handler, meth_name)\n\u001b[0;32m--> 496\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 497\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m result \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 498\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m result\n", + "File \u001b[0;32m/lib/python3.10/urllib/request.py:1419\u001b[0m, in \u001b[0;36mUnknownHandler.unknown_open\u001b[0;34m(self, req)\u001b[0m\n\u001b[1;32m 1417\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21munknown_open\u001b[39m(\u001b[38;5;28mself\u001b[39m, req):\n\u001b[1;32m 1418\u001b[0m \u001b[38;5;28mtype\u001b[39m \u001b[38;5;241m=\u001b[39m req\u001b[38;5;241m.\u001b[39mtype\n\u001b[0;32m-> 1419\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m URLError(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124munknown url type: \u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m'\u001b[39m \u001b[38;5;241m%\u001b[39m \u001b[38;5;28mtype\u001b[39m)\n", + "\u001b[0;31mURLError\u001b[0m: " + ], + "output_type": "error" + } + ] + }, + { + "cell_type": "markdown", + "source": "__1. Сколько лет было самым молодым мужчинам и женщинам-участникам Олимпийских игр 1992 года ?__\n- 16 и 15\n- 14 и 13 \n- 13 и 11\n- 11 и 12", + "metadata": { + "id": "stYR4EbV05qP" + } + }, + { + "cell_type": "code", + "source": "print(data[data['Year']==1992].groupby(['Sex'])['Age'].min())", + "metadata": { + "id": "HgiqBXtb05qR" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": "__2. Каков был процент баскетболистов-мужчин среди всех мужчин-участников Олимпийских игр 2012 года? Округлите ответ до первого десятичного знака.__\n\nЗдесь и далее при необходимости отбрасывайте дублированных спортсменов, чтобы считать только уникальных . \n- 0.2\n- 1.5 \n- 2.5\n- 7.7", + "metadata": { + "id": "GQ290dsi05qc" + } + }, + { + "cell_type": "code", + "source": "d_men = data[(data['Sex']=='M') & (data['Year']==2012)].drop_duplicates(subset=['ID'],inplace=False)\ndol = d_men['Sport'].value_counts(normalize=True)['Basketball']\nprint(np.round(dol*100, 1))", + "metadata": { + "id": "-fI5MqWP05qi" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": "__3. Каковы среднее и стандартное отклонение роста теннисисток, участвовавших в Олимпийских играх 2000 года? Округлите ответ до первого десятичного знака.__\n\n- 171.8 и 6.5\n- 179.4 и 10\n- 180.7 и 6.7\n- 182.4 и 9.1 ", + "metadata": { + "id": "u5WrTgIC05qv" + } + }, + { + "cell_type": "code", + "source": "tenn_f = data[(data['Sex']=='F') & (data['Year']==2000) & (data['Sport']=='Tennis')]\nprint(tenn_f.describe())\nprint(np.round(tenn_f['Height'].mean(),1), 'и', np.round(tenn_f['Height'].std(),1))", + "metadata": { + "id": "vsKTqn6405qw" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": "__4. Найдите спортсмена, который участвовал в Олимпийских играх 2006 года, с наибольшим весом среди других участников той же Олимпиады. Каким спортом он или она занимался?__\n\n- Judo\n- Bobsleigh \n- Skeleton\n- Boxing", + "metadata": { + "id": "xOOEzhNQ05qy" + } + }, + { + "cell_type": "code", + "source": "qwe = data[data['Year']==2006]['Weight'].max()\nprint(data[(data['Year']==2006) & (data['Weight']==qwe)]['Sport'])", + "metadata": { + "id": "EkWD1Tnb05qz" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": "__5. Сколько раз John Aalberg участвовал в Олимпийских играх в разные годы?__\n\nОдин год - это один раз. Неважно сколько участий внутри одного года\n- 0\n- 1 \n- 2\n- 3 ", + "metadata": { + "id": "UQzxZ3HT05q0" + } + }, + { + "cell_type": "code", + "source": "print(len(data[data['Name']=='John Aalberg'].drop_duplicates('Year')))", + "metadata": { + "id": "ZSfkdjPO05q0" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": "__6. Сколько золотых медалей по теннису выиграли спортсмены сборной Switzerland на Олимпиаде-2008? Считайте каждую медаль от каждого спортсмена.__\n\n- 0\n- 1 \n- 2\n- 3 ", + "metadata": { + "id": "8EnLcNrk05q3" + } + }, + { + "cell_type": "code", + "source": "gold = data[(data['Team']=='Switzerland') & (data['Sport']=='Tennis') & (data['Year']==2008) & (data['Medal']=='Gold')]\nprint(len(gold))\nprint(gold)", + "metadata": { + "id": "Y754OGI-05q3" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": "__7. Правда ли, что на Олимпийских играх 2016 Spain выиграла меньше медалей, чем Италия?__ \n\n- Да\n- Нет", + "metadata": { + "id": "v3h5sQF805q5" + } + }, + { + "cell_type": "code", + "source": "Spain_medals = len(data[(data['Team']=='Spain') & (data['Year']==2016)].dropna(subset=['Medal']))\n\nItaly_medals = len(data[(data['Team']=='Italy') & (data['Year']==2016)].dropna(subset=['Medal']))\n\nprint('Испания :',Spain_medals, 'Италия :',Italy_medals)", + "metadata": { + "id": "gqJqDi2605q7" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": "__8. К какой возрастной категории принадлежало наименьшее и наибольшее количество участников Олимпиады-2008?__\n\n- [45-55] и [25-35) соответственно\n- [45-55] и [15-25) соответственно\n- [35-45) и [25-35) соответственно\n- [45-55] и [35-45) соответственно", + "metadata": { + "id": "kkSYL5mK05q-" + } + }, + { + "cell_type": "code", + "source": "data_2008 = (data[data.Year == 2008].drop_duplicates(subset='Name'))\n\nprint('[15, 25): ', len(data_2008[(data_2008['Age']>= 15) & (data_2008['Age'] < 25)]))\nprint('[25, 35): ', len(data_2008[(data_2008['Age']>= 25) & (data_2008['Age'] < 35)]))\nprint('[35, 45): ', len(data_2008[(data_2008['Age']>= 35) & (data_2008['Age'] < 45)]))\nprint('[45, 55]: ', len(data_2008[(data_2008['Age']>= 45) & (data_2008['Age'] < 55)]))", + "metadata": { + "id": "pMAQtW7i05q_" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": "__9. Правда ли, что в Atlanta проводились летние Олимпийские игры? Правда ли, что в Squaw Valley проводились зимние Олимпийские игры? ?__\n\n- Да, Да\n- Да, Нет\n- Нет, Да \n- Нет, Нет ", + "metadata": { + "id": "JQmJPiXv05rB" + } + }, + { + "cell_type": "code", + "source": "(pd.crosstab(data['City'], data['Season']).loc[['Atlanta', 'Squaw Valley']])", + "metadata": { + "id": "UU66wRHC05rB" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "markdown", + "source": "__10. Какова абсолютная разница между количеством уникальных видов спорта на Олимпиаде 1986 года и Олимпиаде 2002 года?__\n\n- 3 \n- 10\n- 15\n- 27 ", + "metadata": { + "id": "4hxR5D-t05rF" + } + }, + { + "cell_type": "code", + "source": "print(abs(data[data['Year'] == 1986]['Sport'].nunique() - data[data['Year'] == 2002]['Sport'].nunique()))", + "metadata": { + "id": "WKIr-TR105rF", + "trusted": true + }, + "execution_count": 4, + "outputs": [ + { + "ename": "", + "evalue": "name 'data' is not defined", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "Input \u001b[0;32mIn [4]\u001b[0m, in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;28mabs\u001b[39m(\u001b[43mdata\u001b[49m[data[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mYear\u001b[39m\u001b[38;5;124m'\u001b[39m] \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m1986\u001b[39m][\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mSport\u001b[39m\u001b[38;5;124m'\u001b[39m]\u001b[38;5;241m.\u001b[39mnunique() \u001b[38;5;241m-\u001b[39m data[data[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mYear\u001b[39m\u001b[38;5;124m'\u001b[39m] \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m2002\u001b[39m][\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mSport\u001b[39m\u001b[38;5;124m'\u001b[39m]\u001b[38;5;241m.\u001b[39mnunique()))\n", + "\u001b[0;31mNameError\u001b[0m: name 'data' is not defined" + ], + "output_type": "error" + } + ] + }, + { + "cell_type": "code", + "source": "", + "metadata": {}, + "execution_count": null, + "outputs": [] + } + ] +} \ No newline at end of file