Mensagens

Python - transformar imagens em BW

Imagem
 #importa as libraries import os import matplotlib.image as npimg import matplotlib.pyplot as plt import numpy as np import cv2 #definimos o diretório onde estão as fotos directory = r'C:\Users\Dell Latitude E5570\Desktop\jpg'   #para cada ficheiro encontrado: for filename in os.listdir(directory):     f = os.path.join(directory, filename) #dá-nos o endereço     # se fôr um ficheiro:     if os.path.isfile(f):         image_color = npimg.imread(f) #lê a imagem e coloca-a numa variável         plt.imshow(image_color)         image_gray = cv2.cvtColor(image_color, cv2.COLOR_BGR2GRAY) #pega na variável e transforma-a em BW         plt.imshow(image_gray, cmap = 'gray')         cv2.imwrite(f, image_gray) #grava a imagem em BW

Python - Jogo de adivinhar números !

Imagem
 import math #importamos módulo Math import random #importamos random para gerar números aleatórios play = True #vamos colocar tudo num loop gigante para podermos depois dizer se queremos jogar de novo ou não while play: #este é o loop de jogo maior     lim_sup = int(input('Qual o limite superior ?')) #pedimos ao user para definir o limite superior     lim_inf = int(input('Qual o limite inferior ?')) #pedimos ao user para definir o limite inferior     solucao = random.randrange(lim_inf,lim_sup) #esta é a variável que tem o número que é a solução     palpites = round(math.log(lim_sup - lim_inf + 1,2)) #esta é a variável que define o número de palpites que temos, conforme os limites     print('Com estes limites tens direito a',palpites,' tentativas ! Boa sorte !')     contador_tentativas = 0 #este é o contador que contabiliza o número de tentativas que temos     while contador_tentativas < palpites: #aq...

Python - Gerador de nomes aleatórios: V2.0

  Gerador de Nomes Aleatórios em Python V2.0 Consegui  ter mais um tempinho para analisar o código que tinha colocado para o gerador de nomes aleatórios e consegui fazer a versão 2.0 ! Esta versão tal como a anterior parte de 2 ficheiros CSV (cada um com primeiro e últimos nomes) e depois seguindo o input do utilizador, cria um ficheiro com os nomes compostos. Nesta versão os nomes já estão devidamente separados por linhas e colunas ! Graças à ajuda do  Miguel Dias  fiz algumas alterações no código e usei mais dataframes para melhor chegar à informação. Basta alterarem os links dos ficheiros com os nomes e voilá! import pandas as pd from random import choice import csv df1 = pd.read_csv('C:/Users/Dell Latitude E5570/Desktop/primeiros.csv', delimiter = ";") df2 = pd.read_csv('C:/Users/Dell Latitude E5570/Desktop/ultimos.csv', delimiter = ";") primeiros = df1['Primeiros'] ultimos = df2['Ultimos'] a = int(input('Quantos nomes aleatór...

Python - mais gráficos em MatplotLib

Imagem
 Scatter Plot: Para fazermos um ScatterPlot precisamos de importar as libraries para o Python e depois definir os eixos: import matplotlib.pyplot as plt  import numpy as np import random as rand graf = plt.figure(figsize=(4,4)) # aqui definimos o tamanho X = np.random.randn(600) #aqui definimos o eixo X Y = np.random.randn(600) #aqui definimos o eixo Y plt.scatter(X,Y) #aqui executamos o gráfico Inserir várias séries num gráfico: É basicamente a mesma coisa, mas colocamos os eixos todos seguidos: t = np.arange(0,5,0.2) # definimos um array qualquer  graf = plt.figure(figsize=(10,10)) #definimos o tamanho do gráfico plt.plot(t,t,'r--',t,t**3,'bs',t,t**2,'g^',t,t**4,linewidth=1) # é aqui que fazemos o plot do gráfico, o 't,t' são os vários valores de cada série (t,t + t,t**2 + t,t**3...). O que está dentro das aspas é a formatação da série (cor, forma, etc) Inserir gráficos lado a lado (subplots): Neste caso primeiro definimos o nº de linhas, depois o ...

Python - o meu primeiro gráfico no MatPlotLib

Imagem
 Bem, não é propriamente o primeiro pois já desenvolvi um projecto com previsão de dados da COVID, mas agora comecei do zero a tentar perceber mesmo toda a sintaxe. E a sintaxe para fazer um gráfico em Python não é complexa, basta importar o matplotlib: import matplotlib.pyplot as plt import numpy as np Depois temos de definir os dois eixos, o do X e o do Y: Para o do X vamos fazer um array com números de 0 a 10 com intervalos de 0.2: x = np.arange(0,10,0.2) Para o eixo do Y, vamos colocar valores que sejam por exemplo o seno de X: y = np.sin(x) Definidos os nossos eixos, podemos fazer o nosso gráfico: plt.plot(x,y) plt.xlabel('Time') -- aqui definimos o nome do eixo X plt.ylabel('Sine Wave') -- aqui definimos o nome do eixo Y plt.title('Plotting exercise') -- aqui definimos o título

SQL - diferentes tipos de JOIN

Imagem
 Podemos fazer dois tipos diferentes de Join no SQL, um com o comando Join, e outro sem ele. Consideremos as seguintes duas tabelas nas quais queremos juntar o Nome dos nossos clientes e o BI respectivo que está numa segunda tabela: A primeira forma de cruzarmos estas tabelas é com um INNER JOIN: SELECT cliente.Nome_Cliente, Individual.BI FROM Cliente INNER JOIN Individual on Individual.Numero_Cliente = Cliente.Numero_Cliente A segunda forma é fazermos estas ligações directamente entre tabelas com o comando Where a ligá-las: SELECT cliente.Nome_Cliente, Individual.BI FROM Cliente, Individual WHERE Cliente.Numero_Cliente = Individual.Numero_Cliente Se executarmos irá dar precisamente o mesmo resultado. Com esta segunda forma simplificamos a forma de unir tabelas. Imaginemos que queremos unir 'n' tabelas, basta juntar AND ao comando WHERE, por exemplo: SELECT     aluno.nome_aluno,     AVG(classificacao.Classificacao_ID)      FROM aluno, su...

Python - criar nomes aleatórios

Imagem
 Viva ! Como para um projecto que estou a fazer para o meu curso estou a precisar de vários nomes inventados para uma base de dados fícticia, pensei em fazer um pequeno exercício em Python: criar uma série de nomes inventados para colocar na dita BD. Comecei por arranjar uma série de primeiros e últimos nomes e colocar tudo num ficheiro de excel. Depois importei o ficheiro para o Python: import numpy as np df = pd.read_csv('C:/Users/Dell Latitude E5570/Desktop/nomes_1.csv', delimiter = ";") incompleta1 = df["Primeiros"] incompleta2 = df["Ultimos"] primeiros = [ element   for element in incompleta1 if element !='nan'    ] ultimos_pre = [  str(x) for x in incompleta2   ] ultimos = [x for x in ultimos_pre if x != 'nan'] Temos duas colunas no df, a Primeiros e a Ultimos, mas o problema aqui é que a coluna últimos tem vários "NaN" de que nos queremos ver livres, portanto primeiro transformamos tudo em strings e depois fazemos u...