0% encontró este documento útil (0 votos)
62 vistas32 páginas

Estructuras de Datos en Python

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
62 vistas32 páginas

Estructuras de Datos en Python

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

ESTRUCTURA DE DATOS EN PYTHON

Ing. Franklin Díaz


fadiaz@unitru.edu.pe
PYTHON

Python es un lenguaje de programación ampliamente utilizado en las aplicaciones web, el desarrollo de software, la
ciencia de datos y el machine learning (ML). Los desarrolladores utilizan Python porque es eficiente y fácil de aprender,
además de que se puede ejecutar en muchas plataformas diferentes. El software Python se puede descargar gratis, se
integra bien a todos los tipos de sistemas y aumenta la velocidad del desarrollo.
TEMAS PREVIOS

1. Estructuras secuenciales
2. Estructuras condicionales
3. Estructuras iterativas
LISTAS

1. Una lista es una secuencia ordenada de objetos de distintos tipos.


2. Se construyen poniendo los elementos entre corchetes[] separados por comas.
3. Se caracterizan por:
a. Tienen orden.
b. Pueden contener elementos de distintos tipos.
c. Son mutables, es decir, pueden alterarse durante la ejecución de un programa.
CREAR LISTAS

Las listas en Python son uno de los tipos o estructuras de datos más versátiles del lenguaje, ya que permiten almacenar
un conjunto arbitrario de datos
lista = [1, 2, 3, 4]

También se puede crear usando list y pasando un objeto iterable.


lista = list("1234")

Una lista sea crea con [] separando sus elementos con comas ,. Una gran ventaja es que pueden almacenar tipos de datos
distintos.
lista = [1, "Hola", 3.67, [1, 2, 3]]
ACCEDER A LISTAS

Si se tiene una lista a con 3 elementos almacenados en ella, podemos acceder a los mismos usando corchetes y un
índice, que va desde 0 a n-1 siendo n el tamaño de la lista.
a = [90, "Python", 3.87]
print(a[0]) #90
print(a[1]) #Python
print(a[2]) #3.87

Se puede también acceder al último elemento usando el índice [-1].


a = [90, "Python", 3.87]
print(a[-1]) #3.87
MODIFICAR Y ELIMINAR LISTAS

Para modificar un elemento de la lista, basta con asignar con el operador = el nuevo valor.
a[2] = 1
print(a) #[90, 'Python', 1]

Para eliminar un elemento de la lista se usa el método del con el índice a eliminar.
lista = [1, 2, 3, 4, 5]
del lista[1]
print(lista) #[1, 3, 4, 5]
ITERAR LISTAS

En Python es muy fácil iterar una lista, mucho más que en otros lenguajes de programación.
numeros = [5, 9, 10]
for numero in numeros:
print(numero)
#5
#9
#10

O si se tiene dos listas y se quiere iterar a la vez, también es posible hacerlo.


lista1 = [5, 9, 10]
lista2 = ["Jazz", "Rock", "Djent"]
for l1, l2 in zip(lista1, lista2):
print(l1, l2)
#5 Jazz
#9 Rock
#10 Djent
MÉTODOS

 l1 + l2: Crea una nueva lista concatenan los elementos de las listas l1 y l2.
 l.append(dato): Añade dato al final de la lista l
 l.extend(sequencia): Añade los datos de secuencia al final de la lista l.
 l.insert(índice, dato): Inserta dato en la posición índice de la lista l y desplaza los elementos una posición a partir de la
posición índice.
 l.remove(dato): Elimina el primer elemento con valor dato en la lista l y desplaza los que están por detrás de él una
posición hacia delante.
 l.pop([índice]): Devuelve el dato en la posición índice y lo elimina de la lista l, desplazando los elementos por detrás
de él una posición hacia delante.
 l.sort(): Ordena los elementos de la lista l de acuerdo al orden predefinido, siempre que los elementos sean
comparables.
 l.reverse(): invierte el orden de los elementos de la lista l.
MÉTODOS

 len(l): Devuelve el número de elementos de la lista l.


 min(l): Devuelve el mínimo elemento de la lista l siempre que los datos sean comparables.
 max(l): Devuelve el máximo elemento de la lista l siempre que los datos sean comparables.
 sum(l): Devuelve la suma de los elementos de la lista l, siempre que los datos se puedan sumar.
 dato in l : Devuelve True si el dato pertenece a la lista l y False en caso contrario.
 l.index(dato): Devuelve la posición que ocupa en la lista l el primer elemento con valor dato.
 l.count(dato): Devuelve el número de veces que el valor dato está contenido en la lista l.
 all(l): Devuelve True si todos los elementos de la lista l son True y False en caso contrario.
 any(l): Devuelve True si algún elemento de la lista l es True y False en caso contrario.
EJEMPLO
TUPLAS

1. Una tupla es una secuencia ordenada de objetos de distintos tipos.


2. Se construyen poniendo los elementos entre paréntesis( ) separados por comas.
3. Se caracterizan por:
a. Tienen orden.
b. Pueden contener elementos de distintos tipos.
c. Son inmutables, es decir, no pueden alterarse durante la ejecución de un programa.

4. Se usan habitualmente para representar colecciones de datos una determinada estructura semántica, como por
ejemplo un vector o una matriz.
OPERACIONES CON TUPLAS

Al igual que las listas, las tuplas también pueden ser anidadas.
tupla = 1, 2, ('a', 'b'), 3
print(tupla) #(1, 2, ('a', 'b'), 3)
print(tupla[2][0]) #a

También es posible convertir una lista en tupla haciendo uso de la función tuple().
lista = [1, 2, 3]
tupla = tuple(lista)
print(type(tupla)) #<class 'tuple'>
print(tupla) #(1, 2, 3)
ITERAR TUPLAS

Se puede iterar una tupla de la misma forma que se hacía con las listas.
tupla = (1, 2, 3)
for t in tupla:
print(t) #1, 2, 3
DICCIONARIOS

1. Son una colección de pares formados por una clave y un valor asociado a la clave.
2. Se construyen poniendo los pares entre llaves { } separados por comas, y separando la clave del valor con dos
puntos(:).
3. No tienen orden.
4. Pueden contener elementos de distintos tipos.
5. Son mutables, es decir, pueden alterarse durante la ejecución de un programa.
6. Las claves son únicas, es decir, no pueden repetirse en un mismo diccionario, y pueden ser de cualquier tipo de datos
inmutable.
ACCESO A LOS ELEMENTOS DE UN DICCIONARIO

d[clave]: devuelve el valor del diccionario mediante la clave de este elemento. Si en el diccionario no existe esa clave
devuelve un error.

d1 = {
"Nombre": "Sara",
"Edad": 27,
"Documento": 1003882
}
print(d1)
#{'Nombre': 'Sara', 'Edad': 27, 'Documento': 1003882}
print(d1['Nombre']) #Sara
print(d1.get('Nombre')) #Sara
MODIFICAR LOS ELEMENTOS DE UN DICCIONARIO

Para modificar un elemento basta con usar [] con el nombre del key y asignar el valor que queremos.

d1['Nombre'] = "Laura"
print(d1)
#{'Nombre': Laura', 'Edad': 27, 'Documento': 1003882}
ITERAR TUPLAS

Los diccionarios se pueden iterar de manera muy similar a las listas u otras estructuras de datos. Para imprimir los key.

for key in diccionario:


print key,":",diccionario[key]
MÉTODOS

 copy(): Retorna una copia del diccionario original.


 fromkeys(): Recibe como parámetro un iterador y un valor, devolviendo un diccionario que contiene como claves los
elementos del iterable con el mismo valor ingresado. Si el valor no es ingresado, devolverá none para todas las claves.
 Setdefault(): Funciona de dos formas. En la primera como get.
 len(d): Devuelve el número de elementos del diccionario d.
 min(d): Devuelve la mínima clave del diccionario d siempre que las claves sean comparables.
 max(d): Devuelve la máxima clave del diccionario d siempre que las claves sean comparables.
 sum(d): Devuelve la suma de las claves del diccionario d siempre que las claves se puedan sumar.
 clave in d: Devuelve True si la clave pertenece al diccionario d y False en caso contrario.
 d.keys(): Devuelve un iterador sobre las claves de un diccionario.
 d.values(): Devuelve un iterador sobre los valores de un diccionario.
MÉTODOS

 d.items(): Devuelve un iterador sobre los pares clave‐valor de un diccionario.


 d[clave] = valor: Añade al diccionario d el par formado por la clave clave y el valor valor.
 d.update(d2): Añade los pares del diccionario d2 al diccionario d.
 d.pop(clave, alternativo): Devuelve del valor asociado a la clave del diccionario d y lo elimina del diccionario. Si la
clave no está devuelve error.
 d.popitem(): Devuelve la tupla formada por la clave y el valor del último par añadido al diccionario d y lo elimina del
diccionario.
 del d[clave]: Elimina del diccionario d el par con la clave.
 d.clear(): Elimina todoslos pares del diccionario d de manera que se queda vacío
EJEMPLO
INTRODUCCIÓN A CIENCIA DE DATOS

Ing. Franklin Díaz


fadiaz@unitru.edu.pe
PYTHON

Python es un lenguaje de programación ampliamente utilizado en las aplicaciones web, el desarrollo de software, la
ciencia de datos y el machine learning (ML). Los desarrolladores utilizan Python porque es eficiente y fácil de aprender,
además de que se puede ejecutar en muchas plataformas diferentes. El software Python se puede descargar gratis, se
integra bien a todos los tipos de sistemas y aumenta la velocidad del desarrollo.
ESTADÍSTICA EN IA

La estadística es la mejor forma de describir las características de un conjunto de datos. Por esta razón, la parte
exploratoria en el proceso de creación de un algoritmo inteligente involucra el uso de métodos estadísticos.
PANDAS

 Pandas es una librería de alto rendimiento para manipulación de estructuras de datos. Actualmente, es una de las librerías
más populares en ciencia de datos, inteligencia artificial, análisis económico, entre otros.
 En pandas, los sets de datos se representan en estructuras llamadas DataFrame (usualmente abreviado df).
 Un df puede ser creado de diferentes maneras, en esta sección utilizaremos la estructura que ya teníamos para hacer
pruebas.
# Crear un set de datos (df)
df_data = pd.DataFrame(estructura)
# Mostrar el df en consola
df_data
 En pandas, las columnas se denominan Series. Para obtener los datos de una serie, se accede a ella como si fuera un
diccionario, es decir df['llave'].
# Obtener los datos de una serie, se accede como si fuera un diccionario
df_data['nombres']
PANDAS

Cada registro en un df se identifica utilizando un índice (Index), que usualmente es generado de forma automática al
crear el df. Se accede a el utilizando la propiedad loc.
df_data.loc[3]
Es posible establecer un índice personalizado utilizando una serie del df.
df_data.drop(['correlativo'], axis=1, inplace=True).reset_index()
df_data.set_index('correlativo')
PANDAS

Muchas funciones ejecutadas por un df no lo modifican de forma inmediata, sino crean un nuevo df con la modificación
realizada.
# Ejecutar la función, no modifica el df
df_data.set_index('correlativo')
# Al imprimir, el df sigue como antes de ejecutar la función
df_data
# Para aplicar los cambios, se debe incluir el parámetro inplace=True
df_data.set_index('correlativo', inplace=True)
df_data
df_data.loc[152]
# Para volver a generar un índice automático
df_data.reset_index(inplace=True)
df_data
PANDAS

Funciones básicas
 read_csv('archivo.ext'): abre un dataset de tipo .csv, .xls, .xml, .pdf, otros
 head(): muestra los primeros 5 registros del dataset
 tail(): muestra los últimos 5 registros del dataset
 shape: muestra las dimensiones del dataset
 columns.values: muestra los nombres de las columnas del dataset
 dtypes: muestra los tipos de datos de las columnas del dataset
 describe(): muestra un resumen estadístico de valores numéricos
 mean(): muestra el promedio de un conjunto de valores numéricos
 sort_values(by=['columna'],ascending=[True/False]): ordena el dataset
 value_counts: agrupa y cuenta valores del dataset
 grpupby: agrupa valores del dataset
FILTROS POR COLUMNA

 Para seleccionar una columna del dataset


df_data['COLUMNA']
 Para seleccionar más de una columna del dataset
df_data[['COLUMNA1','COLUMNA2','COLUMNA3']]

 Se puede combinar con funciones, por ejemplo:


df_data['COLUMNA'].describe()
df_data[['COLUMNA1','COLUMNA2','COLUMNA3']].tail()
FILTROS POR FILA

 Para 1 condición
df_copia = df_data[df_data['COLUMNA']=='valor']
df_copia = df_data[df_data['COLUMNA']<valor]

 Para más de 1 condición usando operadores lógicos


df_data[(df_data ['COLUMNA 1']==valor1')&(df_data['COLUMNA 2']==‘valor2')]
df_data[(df_data ['COLUMNA 1']>=valor1)|(df_data['COLUMNA 2']==‘valor2)]
EXPORTAR DATASET

 Cualquier dataset (df) puede ser exportado a diversos formatos. Por ejemplo, se exporta un dataset a un archivo de
excel.
df_datos.to_excel(‘df_salida.xlsx', index=None)
GRÁFICOS

Se utiliza la librería matplotlib


import matplotlib.pyplot as plt

Existen diferentes tipos de gráficos, para mas información visitar https://matplotlib.org/stable/gallery/index

También podría gustarte