Oracle_One-Alura_Latam/013_python_data_science/python_intro.md

314 lines
4.4 KiB
Markdown
Raw Permalink Normal View History

2023-11-26 15:17:11 -03:00
# Python
[Wiki](https://en.wikipedia.org/wiki/Python_%28programming_language%29)
Python [Docs](https://docs.python.org/es/3/)
## Ambiente
Se utiliza la herramienta de Google **Colaboratory**, similar a un ***Jupiter
Notebook***, que no requiere de alguna configuración previa. Salvo una cuenta
de gmail.
Cada notebook virtual se almacena en Google Drive
- El código de tu Notebook se ejecuta en una máquina virtual dedicada a la
cuenta. Las máquinas virtuales se reciclan después de un cierto tiempo de
inactividad, o si la ventana está cerrada
- Para restaurar un Notebook, es posible que debas cargar el archivo `.csv` y
ejecutar las opciones ***Tiempo de ejecución*** y ***Reiniciar y ejecutar
todas ...***
- Artículo en
[Alura](https://www.aluracursos.com/blog/google-colab-que-es-y-como-usarlo)
#### Google [Colab](https://colab.research.google.com/notebooks/intro.ipynb)
## Python para DS - Introducción al lenguaje
[Notebook](https://colab.research.google.com/drive/1st2KDsR4cyzu6ZCsDIZzIc5AiQ_rHdh9?usp=sharing)
```py
name = 'DevFzn'
print(name)
```
```
DevFzn
```
### Función
```py
def pregunta():
name = input("Cual es tu nombre?:\n ")
num = input("Elige un número:\n ")
print(f'Hola {name}, tu número es el {num}')
```
Llamando a la función
```py
pregunta()
```
```
Cual es tu nombre?:
DevFzn
Elige un número:
3
Hola DevFzn, tu número es el 3
```
### Función con parametro
```py
def func_param(nombre):
print(f'Hola {nombre}')
func_param('DevFzn')
```
```
Hola DevFzn
```
#### Función velocidad
```py
def velocidad(distancia, tiempo):
v = distancia/tiempo
print(f'La velocidad es {v} m/s')
velocidad(100,200)
```
La velocidad es 0.5 m/s
```
```
### Condiciones
```py
edad = 20
def conducir(edad):
if edad >= 18:
print('Puedes conducir')
else:
print('Aún no puedes conducir')
conducir(edad)
```
```
Puedes conducir
```
```py
edad = 17
conducir(edad)
```
```
Puedes conducir
```
### Conversión de dato
```py
def conducir_sin_param():
edad = int(input('Ingresa tu edad: '))
conducir(edad)
conducir_sin_param()
```
```py
Ingresa tu edad: 16
Aún no puedes conducir
```
```py
conducir_sin_param()
```
```
Ingresa tu edad: 35
Puedes conducir
```
### Lista
```py
edades = [15, 18, 12, 50, 40]
type(edades)
```
```
list
```
```py
type(name)
```
```
str
```
Indice de lista
```py
# Largo de la lista
len(edades)
print(edades[0])
print(edades[1])
print(edades[2])
print(edades[3])
print(edades[4])
```
```
15
18
12
50
40
```
#### Slicing
```py
# Tres primeros valores
edades[0:3]
```
```
[15, 18, 12]
```
```py
# Desde la 3ra hasta el final
edades[2:]
```
```
[12, 50, 50]
```
```py
# La última
edades[-1]
```
```
40
```
### Ciclo For
```py
for edad in edades:
conducir(edad)
```
```
Aún no puedes conducir
Puedes conducir
Aún no puedes conducir
Puedes conducir
Puedes conducir
```
### Boleano
```py
validaciones = []
def conducir_bool(validaciones, edades):
for edad in edades:
if edad >= 18:
validaciones.append(True)
else:
validaciones.append(False)
for valid in validaciones:
if valid:
print('Puedes conducir')
else:
print('Aún no puedes conducir')
conducir_bool(validaciones, edades)
```
```
Aún no puedes conducir
Puedes conducir
Aún no puedes conducir
Puedes conducir
Puedes conducir
```
#### Lista con distintos tipos de datos
```py
lista_mixta = [ 'Juan', 16, False, 'Brasil']
for elemento in lista_mixta:
print(f'El elemento {elemento} de la lista es del tipo {type(elemento)}')
```
```
El elemento Juan de la lista es del tipo <class 'str'>
El elemento 16 de la lista es del tipo <class 'int'>
El elemento False de la lista es del tipo <class 'bool'>
El elemento Brasil de la lista es del tipo <class 'str'>
```
### Imports
```py
from random import randrange
rand_nums = []
for _ in range(10):
rand_nums.append(randrange(0,11))
print(rand_nums)
```
```
[4, 4, 10, 5, 4, 9, 5, 2, 3, 6]
```
### Random seed
Con seed los números generados son siempre los mismos
```py
from random import seed
alea_nums = []
seed(8)
for _ in range(10):
alea_nums.append(randrange(0,11))
print(alea_nums)
```
```
[3, 5, 6, 2, 3, 0, 1, 2, 3, 8]
```
### Matplotlib
```py
import matplotlib.pyplot as plt
x = list(range(0,10))
print(x)
alea_nums
plt.plot(x, alea_nums, marker='o')
plt.xlabel("Prueba")
plt.ylabel("Test")
plt.title("Grafico")
plt.show()
```
![img](./imgs/matplot_01.png)