Escolar Documentos
Profissional Documentos
Cultura Documentos
Python 09
Python 09
O número de dimensões é a
ordem (rank) da matriz; a
forma (shape) de uma matriz
é uma tupla de inteiros dando
o tamanho da matriz ao longo
de cada dimensão.
a = np.array([0, 1, 2, 3])
a.dtype dtype(”int32f”)
b.dtype dtype('complex128')
c.dtype dtype(‘bool’)
import numpy as np
a = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
b[2:5 , 2:5]
b=np.array([[0,1,2,3,4,5],[10,11,12,13,14,15],[20,21,22,23,24,25]
,[30,31,32,33,34,35],[40,41,42,43,44,45],[50,51,52,53,54,55]])
b[(0,1,2,3,4),(1,2,3,4,5)]
array([ 1, 12, 23, 34, 45])
[b[3:, (0,2,5)]
array([[30, 32, 35],
[40, 42, 45],
[50, 52, 55]])
mascara = np.array([1,0,1,0,0,1],dtype=bool)
b[mascara,2]
a = np.array([0, 1, 2, 3, 4])
a*2 ---(produto)
array [0, 2, 4, 6, 8])
2**a ---(potência)
array [1, 2, 4, 8, 16])
Licenciatura em Engenharia Biomédica Programação, Nelson Nunes
Numpy
import numpy as np
a = np.array([[0, 1], [2, 3]])
b = np.array([[2, 1], [6, 8]])
Operações numéricas básicas:
a-b ---(diferença)
array([[-2, 0],
[-4, -5]])
Array([[ 0, 5],
[3, 5],
[5, 2]]) Licenciatura em Engenharia Biomédica Programação, Nelson Nunes
Numpy
import numpy as np
a = np.array([[0, 1], [2, 3]])
b = np.array([[2, 1], [6, 8]])
Operações lógicas
a == b
array([[False, True],
[False, False]])
a >b
array([[ True, False],
[ True, True]])
import numpy as np
x = np.array([0, 1, 2, 3, 4])
np.sum(x)
10
y.sum(axis=1)
array([2,4])
Licenciatura em Engenharia Biomédica Programação, Nelson Nunes
Numpy
Operações numéricas com dados da matriz
import numpy as np
x = np.array([1, 2, 3, 4, 1])
x.mean() ---média de (todos os valores)
2.2
x.std() ---desvio padrão (de todos os valores)
1.16619037896906
x.min() x.max() --- mínimo e máximo
1 4
x.argmin() x.argmax() --- devolve o índice do menor/maior
0 3 elemento
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6]])
a.ravel() - Cria uma matriz 1D
array([1, 2, 3, 4, 5, 6])
a.reshape(3,2) b = np.array([[4, 3, 5], [1, 2, 1]])
array([[1, 2]
b.sort(axis=1)
[3, 4],
array([[ 3, 4, 5,],
[5, 6]])
[ 1,1,2]])
3 x2 + 4 x + 5 print(p.deriv()) ---derivada do
polinómio
print(p*p) ---multiplica o polinómio 6x+4
[<matplotlib.lines.Line2D at 0x20d1a7c30f0>]
X Y
Define o
intervalo
dos dois eixos
Mostra o gráfico
import numpy as np
import matplotlib.pyplot as plt
plt.axis([0, 6, 0, 20])
plt.grid()
plt.show()
# Definir x ticks
plt.xticks(np.linspace(-4, 4, 9, endpoint=True))
# Definir limites y
plt.ylim(-1.0, 1.0)
# Definir y ticks
plt.yticks(np.linspace(-1, 1, 5, endpoint=True))
plt.savefig(“Teste.png”)
Comando de inserção
das legendas
plt.ylabel('Resultados')
plt.title('Resultados por grupos')
plt.show()
N=5
homem_media = (20, 35, 30, 35, 27)
mulher_media = (25, 32, 34, 20, 25)
ind = np.arange(N)
width = 0.35
plt.bar(ind, homem_media, width, label='Homem')
plt.bar(ind + width, mulher_media, width, label='Mulher')
plt.ylabel('Resultados')
plt.title('Resultados por grupos e genero')
plt.show()
plt.show()
import numpy as np
import matplotlib.pyplot as plt
ax = plt.axes([0.025,0.025,0.95,0.95], polar=True)
N = 20
theta = np.arange(0.0, 2*np.pi, 2*np.pi/N)
radii = 10*np.random.rand(N)
width = np.pi/4*np.random.rand(N)
bars = plt.bar(theta, radii, width=width, bottom=0.0)
for r,bar in zip(radii, bars):
bar.set_facecolor( plt.cm.jet(r/10.))
bar.set_alpha(0.5)
ax.set_xticklabels([])
ax.set_yticklabels([])
plt.show()
Licenciatura em Engenharia Biomédica Programação, Nelson Nunes
Matplotlib
Contorno
import numpy as np
import matplotlib.pyplot as plt
def f(x,y):
return (1-x/2+x**5+y**3)*np.exp(-x**2-y**2)
n = 256
x = np.linspace(-3,3,n)
y = np.linspace(-3,3,n)
X,Y = np.meshgrid(x,y)
plt.axes([0.025,0.025,0.95,0.95])
plt.contourf(X, Y, f(X,Y), 8, alpha=.75, cmap=plt.cm.hot)
C = plt.contour(X, Y, f(X,Y), 8, colors='black', linewidth=.5)
plt.clabel(C, inline=1, fontsize=10)
plt.xticks([]), plt.yticks([])
plt.show()
def f(x,y):
return (1-x/2+x**5+y**3)*np.exp(-x**2-y**2)
n = 10
x = np.linspace(-3,3,3.5*n)
y = np.linspace(-3,3,3.0*n)
X,Y = np.meshgrid(x,y)
Z = f(X,Y)
plt.axes([0.025,0.025,0.95,0.95])
plt.imshow(Z,interpolation='nearest', cmap='bone', origin='lower')
plt.colorbar(shrink=.92)
plt.xticks([]), plt.yticks([])
plt.show()
Licenciatura em Engenharia Biomédica Programação, Nelson Nunes
Pandas
#Mostrar a dataframe
paises
print (paises)
Pais Capital PopM
Pais Capital PopM
0 Russia Moscovo 11.92 0 Russia Moscovo 11.92
1 Inglaterra Londres 8.98
2 Angola Luanda 2.57 1 Inglaterra Londres 8.98
3 Portugal Lisboa 0.51
2 Angola Luanda 2.57
3 Portugal Lisboa 0.51
#mostrar a serie
nomes
0 Joao
1 Maria
2 Tiago
3 Mariana
dtype: object
df = pd.read_csv(“c:/disco/temperatura.txt")
df = pd.read_excel(“c:/disco/temperatura.xlsx")
df.columns
df.iloc[[1,3], 3]
1 25.6
df.iloc[[1,3]] 3 28.2
Name: Tmedia, dtype: float64
Cidade Tmedia
1 Madrid 25.6
5 Lisboa 23.1
df.loc[df.Mes=="Julho",["Tmedia"]].max()
Tmedia 28.2
dtype: float64
df.loc[df.Mes=="Julho",["Tmedia"]].min()
Tmedia 23.1
dtype: float64
df.loc[df.Mes=="Julho",["Tmedia"]].sum()
Tmedia 76.9
dtype: float64
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv("temperatura.txt")
df.plot.scatter(x="Tmedia", y=["PopM"])
plt.show()
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv("temperatura.txt")
plt.scatter(df["Tmedia"], df["PopM"])
plt.show()
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv("temperatura.txt")
df.plot.bar(x="Cidade", y=["Tmedia","PopM"])
plt.show()
# Criar cursor
c = base.cursor()
Apaga a tabela “projeto” no
c.execute("DROP TABLE IF EXISTS projeto") ficheiro dados.db para se poder
escrever novamente
#Criar base dados
c.execute("""CREATE TABLE IF NOT EXISTS projeto
(id INT PRIMARY KEY, Também é possível escrever
nome TEXT NOT NULL, Numa única linha mas usando
idade INT NOT NULL, “”” e mais fácil a visualização.
glicemia REAL);""")
c.execute("CREATE TABLE cars(id INT, nome TEXT, idade INT, glicemia REAL)")
#Submeter dados
base.commit()
print (c.fetchone()[1])
print (c.fetchmany(3))
janela = Tk()
janela.title("Base Dados")
janela.geometry("400x400")
# Base dados
base = sqlite3.connect("glicemia.db")
# Criar cursor
c = base.cursor()
#Submeter dados
base.commit()