Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- "cells": [
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "# Exercícios"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## 1) Considerando o código abaixo, faça:\n",
- " -> Crie um df a partir de data cujo index seja labels. Faça os imports necessários\n",
- " -> Preencha os valores faltantes com a média dos valores\n",
- " -> Retorne uma lista única dos animais\n",
- " -> Compute as estatísticas básicas (contagem, soma, média, desvio padrão e variância)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 69,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " age animal priority visits\n",
- "a 2.5000 cat yes 1\n",
- "b 3.0000 cat yes 3\n",
- "c 0.5000 snake no 2\n",
- "d 3.4375 dog yes 3\n",
- "e 5.0000 dog no 2\n",
- "f 2.0000 cat no 3\n",
- "g 4.5000 snake no 1\n",
- "h 3.4375 cat yes 1\n",
- "i 7.0000 dog no 2\n",
- "j 3.0000 dog no 1\n",
- "a cat\n",
- "b cat\n",
- "c snake\n",
- "d dog\n",
- "e dog\n",
- "f cat\n",
- "g snake\n",
- "h cat\n",
- "i dog\n",
- "j dog\n",
- "Name: animal, dtype: object\n",
- " age visits\n",
- "count 10.000000 10.000000\n",
- "mean 3.437500 1.900000\n",
- "std 1.770711 0.875595\n",
- "min 0.500000 1.000000\n",
- "25% 2.625000 1.000000\n",
- "50% 3.218750 2.000000\n",
- "75% 4.234375 2.750000\n",
- "max 7.000000 3.000000\n"
- ]
- }
- ],
- "source": [
- "import pandas as pd\n",
- "import numpy as np\n",
- "from pandas import DataFrame\n",
- "\n",
- "\n",
- "\n",
- "data = {'animal': ['cat', 'cat', 'snake', 'dog', 'dog', 'cat', 'snake', 'cat', 'dog', 'dog'],\n",
- " 'age': [2.5, 3, 0.5, np.nan, 5, 2, 4.5, np.nan, 7, 3],\n",
- " 'visits': [1, 3, 2, 3, 2, 3, 1, 1, 2, 1],\n",
- " 'priority': ['yes', 'yes', 'no', 'yes', 'no', 'no', 'no', 'yes', 'no', 'no']}\n",
- "\n",
- "\n",
- "\n",
- "labels = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']\n",
- "\n",
- "obj = DataFrame(data, index=labels)\n",
- "\n",
- "print(obj.fillna(obj.mean()))\n",
- "print(obj.animal)\n",
- "print(obj.fillna(obj.mean()).describe())"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "# resposta 1"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## 2) Considerando o mesmo código, faça:\n",
- " -> Crie uma função que multiplique o número de visitas por 2. Retorne o data frame completo com valores atualizados\n",
- " -> Crie uma função que insere uma coluna que contenha um ranking dos animais mais visitados. Retorne o dataframe ordenado de forma descendente\n",
- " -> Verifique se os animais da seguinte lista pertencem aos dados originais: New_animals = [‘cow’,’horse’,shark’]"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 74,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " age animal priority visits ranked_animal\n",
- "a 2.5 cat yes 1 8.5\n",
- "g 4.5 snake no 1 8.5\n",
- "h NaN cat yes 1 8.5\n",
- "j 3.0 dog no 1 8.5\n",
- "c 0.5 snake no 2 5.0\n",
- "e 5.0 dog no 2 5.0\n",
- "i 7.0 dog no 2 5.0\n",
- "b 3.0 cat yes 3 2.0\n",
- "d NaN dog yes 3 2.0\n",
- "f 2.0 cat no 3 2.0\n",
- " age animal priority visits ranked_animal validation\n",
- "a 2.5 cat yes 1 8.5 False\n",
- "b 3.0 cat yes 3 2.0 False\n",
- "c 0.5 snake no 2 5.0 False\n",
- "d NaN dog yes 3 2.0 False\n",
- "e 5.0 dog no 2 5.0 False\n",
- "f 2.0 cat no 3 2.0 False\n",
- "g 4.5 snake no 1 8.5 False\n",
- "h NaN cat yes 1 8.5 False\n",
- "i 7.0 dog no 2 5.0 False\n",
- "j 3.0 dog no 1 8.5 False\n"
- ]
- },
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\ipykernel_launcher.py:8: FutureWarning: by argument to sort_index is deprecated, please use .sort_values(by=...)\n",
- " \n"
- ]
- }
- ],
- "source": [
- "# resposta 2\n",
- "\n",
- "#obj['visits'] = obj['visits'].map(lambda x: x*2)\n",
- "#print(obj)\n",
- "\n",
- "obj['ranked_animal'] = obj['visits'].rank(ascending=0)\n",
- "\n",
- "print(obj.sort_index(by='ranked_animal',ascending=False))\n",
- "\n",
- "obj['validation'] = obj['animal'].isin(['cow','horse','shark'])\n",
- "print(obj)"
- ]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "## 3) Crie uma função que filtre as linhas do df no código abaixo de acordo com a palavra-chave passada como parâmetro (apenas estado):"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 56,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " DateofBirth State\n",
- "Jane 1986-11-11 NY\n",
- "Nick 1999-05-12 TX\n",
- "Aaron 1976-01-01 FL\n",
- "Penelope 1986-06-01 AL\n",
- "Dean 1983-06-04 AK\n",
- "Christina 1990-03-07 TX\n",
- "Cornelia 1999-07-09 TX\n"
- ]
- }
- ],
- "source": [
- "df = pd.DataFrame({'DateofBirth':['1986-11-11','1999-05-12','1976-01-01',\n",
- " '1986-06-01','1983-06-04','1990-03-07',\n",
- " '1999-07-09'],\n",
- " 'State':['NY','TX','FL','AL','AK','TX','TX']},\n",
- " index=['Jane','Nick','Aaron','Penelope','Dean',\n",
- " 'Christina','Cornelia'])\n",
- "print(df)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 59,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- " DateofBirth State\n",
- "Nick 1999-05-12 TX\n",
- "Christina 1990-03-07 TX\n",
- "Cornelia 1999-07-09 TX\n"
- ]
- }
- ],
- "source": [
- "\n",
- "def filtra_estado(df,estado):\n",
- " return df.loc[df['State'] == estado]\n",
- "\n",
- "print(filtra_estado(df,'TX'))\n",
- " "
- ]
- }
- ],
- "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.4"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 2
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement