(Bike Share Chicago)
1-Crie uma função que pegue o gênero mais popular, e retorne este gênero como uma string.
import csv
import matplotlib.pyplot as plt
with open("chicago.csv", "r") as file_read:
reader = csv.reader(file_read)
data_list = list(reader)
cont = len(data_list)
contagem = cont - 2
males = 0
females = 0
linha = 0
colun = 6
answer=0
ntarefa_6 = data_list [linha]
while (linha <= contagem): #selecionando os itens necessários para a análise e salvando nas variáveis male e female
ntarefa_6 = data_list [linha+1]
mlist = (ntarefa_6 [colun])
flist = (ntarefa_6 [colun])
linha +=1
if mlist == 'Male':
males +=1
elif flist == 'Female':
females +=1
ntarefa_6 = []
if males >= females:
answer = "Male"
elif males<= females:
answer = "Female"
else:
answer = "Equal"
def most_popular_gender(data_list):
answer = ""
return answer
print (answer)
2-Crie uma função para adicionar as colunas de uma lista em outra lista, na mesma ordem:
import pandas as pd
data_list = pd.read_csv('chicago.csv')
#data_list.index
#data_list.shape
#data_list.head()
data_list.dropna(axis=0, how='any', thresh=None, subset=None, inplace=True) #limp. valores nulos
#data_list.dropna(subset=['Gender'])
cont = len(data_list)
resposta []
contagem = cont
linha = 1
dlist = [] #Local de armazenamento genero
clist = [] #Local de armazenamento data de nascimento
colun = 6 #definindo coluna de leitura
coluna= 7 #definindo coluna de leitura
ntarefa_0 = data_list [linha]
while (linha <= contagem):
linha +=1
ntarefa_0 = []
ntarefa_0 = data_list[linha+1]
dlist = []
ddlist = (ntarefa_0 [colun])
dlist.append(ddlist) #armazenando a informação
ntarefa_3 = []
ntarefa_3 = data_list[linha+1]
clist = []
cclist = (ntarefa_3 [coluna])
clist.append(cclist) #armazenando a informação
resposta.append ("Genero {}: Nascimento{}".format(dlist,clist))
sexta-feira, 23 de agosto de 2019
quinta-feira, 22 de agosto de 2019
Criando uma função para adicionar as colunas de uma lista em outra lista, na mesma ordem em Python
Utilizei a tabela de dados Chicago_bike_share
import csv
import matplotlib.pyplot as plt
with open("chicago.csv", "r") as file_read:
reader = csv.reader(file_read)
data_list = list(reader)
cont = len(data_list)
linha = 1
dlist = [] #Local de armazenamento genero
clist = [] #Local de armazenamento data de nascimento
colun = 6 #definindo coluna de leitura
coluna= 7 #definindo coluna de leitura
ntarefa_0 = data_list [linha]
while (linha <= contagem):
linha +=1
ntarefa_0 = []
ntarefa_0 = data_list[linha+1]
dlist = [] #limpnado a variável
ddlist = (ntarefa_0 [colun])
dlist.append(ddlist) #armazenando a informação
ntarefa_3 = []
ntarefa_3 = data_list[linha+1]
clist = []
cclist = (ntarefa_3 [coluna])
clist.append(cclist) #armazenando a informação
print ("Genero {}: Nascimento{}".format(dlist,clist)) #organizando a resposta
import csv
import matplotlib.pyplot as plt
with open("chicago.csv", "r") as file_read:
reader = csv.reader(file_read)
data_list = list(reader)
cont = len(data_list)
linha = 1
dlist = [] #Local de armazenamento genero
clist = [] #Local de armazenamento data de nascimento
colun = 6 #definindo coluna de leitura
coluna= 7 #definindo coluna de leitura
ntarefa_0 = data_list [linha]
while (linha <= contagem):
linha +=1
ntarefa_0 = []
ntarefa_0 = data_list[linha+1]
dlist = [] #limpnado a variável
ddlist = (ntarefa_0 [colun])
dlist.append(ddlist) #armazenando a informação
ntarefa_3 = []
ntarefa_3 = data_list[linha+1]
clist = []
cclist = (ntarefa_3 [coluna])
clist.append(cclist) #armazenando a informação
print ("Genero {}: Nascimento{}".format(dlist,clist)) #organizando a resposta
Descobrir a diferença de horário de uma lista em Python
Do arquivo share_bikes_chicago eu extrai os valores em string de hora de inicio e hora de fim e converti em data e calculei a diferença para saber o tempo de uso:
import csv
import numpy as np
import matplotlib.pylab as plt
from datetime import datetime
import pandas as pd
from datetime import timedelta
#base = pd.read_csv('chicago.csv') # base = pb.read_csv('chicago.csv',header = None)
with open("chicago.csv", "r") as file_read:
reader = csv.reader(file_read)
data_list = list(reader)
#data_list = str(reader)
ntarefa_1 = []
ntarefa_2 = []
ntarefa_3 = []
ntarefa_4 = []
delta = []
linha = 1
while (linha <= 1000):
estudo = data_list[linha]
ntarefa_4 = []
ntarefa_4 = estudo[0]
ntarefa_2 = datetime.strptime(ntarefa_4, '%Y-%m-%d %H:%M:%S')
ntarefa_3 =[]
ntarefa_3 = estudo[1]
ntarefa_1 = datetime.strptime(ntarefa_3, '%Y-%m-%d %H:%M:%S')
delta.append(ntarefa_1 - ntarefa_2)
linha += 1
Resultado:
import csv
import numpy as np
import matplotlib.pylab as plt
from datetime import datetime
import pandas as pd
from datetime import timedelta
#base = pd.read_csv('chicago.csv') # base = pb.read_csv('chicago.csv',header = None)
with open("chicago.csv", "r") as file_read:
reader = csv.reader(file_read)
data_list = list(reader)
#data_list = str(reader)
ntarefa_1 = []
ntarefa_2 = []
ntarefa_3 = []
ntarefa_4 = []
delta = []
linha = 1
while (linha <= 1000):
estudo = data_list[linha]
ntarefa_4 = []
ntarefa_4 = estudo[0]
ntarefa_2 = datetime.strptime(ntarefa_4, '%Y-%m-%d %H:%M:%S')
ntarefa_3 =[]
ntarefa_3 = estudo[1]
ntarefa_1 = datetime.strptime(ntarefa_3, '%Y-%m-%d %H:%M:%S')
delta.append(ntarefa_1 - ntarefa_2)
linha += 1
Resultado:
segunda-feira, 12 de agosto de 2019
Gerar numero randômicos Python
import numpy as np
import pandas as pd
base = pd.read_csv('iris.csv')
#agora gerar numeros randomicos
amostra = np.random.choice(a = [0, 1], size = 150, replace = True,p = [0.5, 0.5])
len(amostra)
len(amostra[amostra == 1])
len(amostra[amostra ==0])
Tendencia/Sazonalidade/Aleatoriedade e Previsão em Series Temporais (Python)
import pandas as pd
import numpy as np
import matplotlib.pylab as plt
from statsmodels.tsa.seasonal import seasonal_decompose
#base = pd.read_csv('adultos.csv', sep = ';')
#base.head()
base = pd.read_csv('adultos.csv', sep = ';')
dateparse = lambda dates:pd.datetime.strptime(dates,'%Y-%m')
base = pd.read_csv('adultos.csv', sep = ';', parse_dates = ['data'], index_col = 'data', date_parser = dateparse)
#para trabalhar com serie temporal é recomendados transformar o type Data-frame em Type Series - ts, não precisa obrigatoriamente usar este nome
ts = base['SVL']
plt.plot(ts)
#decomposicao = seasonal_decompose(ts, model='additive')
decomposicao = seasonal_decompose(ts)
tendencia = decomposicao.trend
sazonal = decomposicao.seasonal
aleatorio = decomposicao.resid
plt.plot(sazonal)
plt.plot (tendencia)
plt.plot(aleatorio)
plt.subplot(4,1,1)
plt.plot(ts, label= 'original')
plt.legend(loc = 'best')
plt.subplot(4,1,2) #o ultimo é o local do bloco, se não alterar vai sobreescrever/ o do meio é o tamanho do grafico (maior fica menor)
plt.plot(tendencia, label= 'tendencia')
plt.legend(loc = 'best')
plt.subplot(4,1,3)
plt.plot(sazonal, label= 'sazonal')
plt.legend(loc = 'best')
plt.subplot(4,1,4)
plt.plot(aleatorio, label= 'Aleatório')
plt.legend(loc = 'best')
#layout
plt.tight_layout()
#Previsão
import pandas as pd
import matplotlib.pylab as plt
from statsmodels.tsa.arima_model import ARIMA
from pyramid.arima import auto_arima
base = pd.read_csv('adultos.csv', sep = ';')
dateparse = lambda dates:pd.datetime.strptime(dates,'%Y-%m')
base = pd.read_csv('adultos.csv', sep = ';', parse_dates = ['data'], index_col = 'data', date_parser = dateparse)
ts = base['SVL']
plt.plot(ts)
ts.mean() #visualizar a média
ts['1960-01-01':'1960-12-01'].mean() #média do ultimo an
media_movel = ts.rolling(window = 12).mean() #pode dar nulo porque ele precisa dos "12" dados anteriores para dar resultado
ts[0:12].mean() #posicao 0 a posicao 12
ts[1:13].mean()
plt.plot(ts)
plt.plot(media_movel, color = 'red')
#não tem biblioteca, então vamos criar
previsoes = []
for i in range(1,13):
#print(i)
superior = len(media_movel)-i
inferior = superior - 11
#print(inferior)
#print(superior)
#Print('---')
previsoes.append(media_movel[inferior:superior].mean())
#a ordem está inversa, então para virar
previsoes = previsoes[::-1] #: para não mecher nas linhas
plt.plot(previsoes)
#agora o arrima com biblioteca ARIMA P(numero dos termos auto regressivos) Q (numero da media movel Dnumero de não sazonais
modelo = ARIMA(ts, order=(2,1,1))#ts é a serie teporal order (pqd)
modelo_treinado = modelo.fit()
modelo_treinado.summary()
previsoes = modelo_treinado.forecast(steps = 12)[0] #previsões para frente que quer fazer ex12 e [0] para retirar dados a mais
eixo = ts.plot()
modelo_treinado.plot_predict('2005-12-01', '2006-12-01')
Ta meio ruim, mas são os dados que eu usei.
Mineração de Texto com Python
# coding: latin1
import matplotlib.pyplot as plt
import nltk
from nltk.corpus import PlaintextCorpusReader
from nltk.corpus import stopwords
from matplotlib.colors import ListedColormap
from wordcloud import WordCloud
import os, nltk.test
corpus = PlaintextCorpusReader('Arquivos', ".*")
testdir = os.path.split(nltk.test.__file__)[0]
text = open(os.path.join(testdir, 'Disertacao.txt'), 'rb').read().decode('ISO 8859-1')
#coding: latin-1
#for fileid in corpus.fileids():
# print (type(fileid))
# print (fileid.encode('ascii'))
#corpus = corpus.decode('utf8')
#arquivos = corpus.fileids()
palavras = corpus.words()
len(palavras)
todo_texto= corpus.raw()
#excepitons_tutorial.py
stops = stopwords.words('english')
mapa_cores = ListedColormap(['orange', 'green', 'red', 'magenta'])
nuvem = WordCloud(background_color = 'white', colormap = mapa_cores, stopwords = stops, max_words = 100)
nuvem.generate(todo_texto)
plt.imshow(nuvem)
Assinar:
Postagens (Atom)