<jupyter_start><jupyter_text>Hello World<jupyter_code>#Desafio Módulo 2
#descrição dos dados
# rec_id: índice do registro de locação;
# datetime: data;
# season: estação do ano (1: inverno, 2: primavera, 3: verão, 4: outono). Relativo ao hemisfério norte;
# year: ano (0: 2011, 1:2012);
# month: mês (1 a 12);
# hour: hora do dia (0 a 23);
# is_holiday: booleano indicando feriado;
# weekday: dia da semana (0: domingo, 1: segunda-feira, …, 6: sábado);
# is_workingday: booleano indicando dia útil;
# weather_condition: (1: limpo, 2: nublado, 3: chuva leve, 4: chuva forte);
# temp: temperatura escalada entre 0 e 1. Valor original em graus Celsius: -8 a 39;
# atemp: sensação térmica escalada entre 0 e 1. Valor original em graus Celsius: -16 a 50;
# humidity: humidade relativa (0 a 1);
# windspeed: velocidade do vento escalada entre 0 e 1 (máximo original: 67);
# casual: número de locações para usuários casuais;
# registered: número de locações para usuários registrados;
# total_count: contador total de aluguéis (casual+registered).
import numpy as np
import pandas as pd
df = pd.read_csv("https://pycourse.s3.amazonaws.com/bike-sharing.csv")
#1 - Qual o tamanho desse dataset (número de linhas, número de colunas)?
df.info()

df.head()
#2 - Qual a média da coluna windspeed?
#3 - Qual a média da coluna temp?

df.describe()
# fazendo slice para criar colunas dia, mês e ano
df['ano'] = df['datetime'].apply(lambda Data: Data.split('-')[0])
df['mes'] = df['datetime'].apply(lambda Data: Data.split('-')[1])
df['dia'] = df['datetime'].apply(lambda Data: Data.split('-')[2])

df.head()

#4 - Quantos registros de locações existem para o ano de 2011 (número de linhas, número de colunas)?

df[df['ano'] == '2011'].info()

#São 17 colunas menos as +3 criadas para fazer o slice do ano
#Outra forma seria apenas fazendo o slice com o split criando nova coluna por ser mais simples

#5 - Quantos registros de locações existem para o ano de 2012 (número de linhas, número de colunas)?

df[df['ano'] == '2012'].info()
#6 - Quantas locações de bicicletas foram efetuadas em 2011?

df[df['ano'] == '2011'].sum()['total_count']
#7 - Quantas locações de bicicletas foram efetuadas em 2012?

df[df['ano'] == '2012'].sum()['total_count']
#8 - Qual estação do ano contém a maior média de locações de bicicletas?

df.groupby('season').agg('mean')['total_count'].sort_values(ascending=False)
#9 - Qual estação do ano contém a menor média de locações de bicicletas?
df.groupby('season').agg('mean')['total_count'].sort_values(ascending=True)
#10 - Qual horário do dia contém a maior média de locações de bicicletas?
df.groupby('hour').agg('mean')['total_count'].sort_values(ascending=False)
#11 - Qual horário do dia contém a menor média de locações de bicicletas?
df.groupby('hour').agg('mean')['total_count'].sort_values(ascending=True)
#12 - Que dia da semana contém a maior média de locações de bicicletas?
df.groupby('weekday').agg('mean')['total_count'].sort_values(ascending=False)
#13 - Que dia da semana contém a menor média de locações de bicicletas?
df.groupby('weekday').agg('mean')['total_count'].sort_values(ascending=True)

#14 - Às quartas-feiras (weekday = 3), qual o horário do dia contém a maior média de locações de bicicletas?

df[df['weekday'] == 3].groupby('hour').agg('mean')['total_count'].sort_values(ascending=False)
#15 - Aos sábados (weekday = 6), qual o horário do dia contém a maior média de locações de bicicletas?
df[df['weekday'] == 6].groupby('hour').agg('mean')['total_count'].sort_values(ascending=False)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.13844425723111486, 'fraction_numerical': 0.030609379387812413, 'mean_word_length': 5.4296028880866425, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '439016', 'license': 'MIT', 'n_tokens_mistral': 1390, 'n_tokens_neox': 1305, 'n_words': 423, 'path': 'modulo - 2 Modelos Preditivos e Séries Temporais/trabalho_pratico2.ipynb', 'repo_name': 'k3ybladewielder/bootcamp_igti_ml', 'size': '3561'}