APUNTES UBA - CBC - Pensamiento Computacional
April 22, 2024 | Author: Anonymous | Category: N/A
Short Description
Download APUNTES UBA - CBC - Pensamiento Computacional...
Description
UBA - CBC - Pensamiento Cátedra: Camejo. Profesores: -
OM
Computacional
LA DD .C
Días de cursada: Asincrónico. Aula: -
Comisión: Sede Central UBA XXI (Ciudad de Buenos Aires)
FI
Definiciones Algoritmos Manejo de errores Tablas
“Aprender a programar o pensar como un programador no sólo implica conocer ciertos modelos, herramientas y técnicas, también es importante aprender a hablar como ellos.”
Este archivo fue descargado de https://filadd.com
Definiciones
FI
LA DD .C
OM
● Computadora: dispositivo físico de procesamiento de datos con propósito general. Es capaz de procesar datos y obtener nueva información o resultados. ● Software: conjunto de herramientas abstractas (programas). Se lo llama como el componente lógico de un modelo computacional. Es lo que puedes ver pero no tocar. ● Hardware: es el componente físico del dispositivo. Es decir que, el Software dirá qué hacer y el Hardware lo hará. Es lo que puedes ver y tocar. ● Modelo de Von Neumann: modelo de arquitectura de una Computadora que consta de tres componentes o subsistemas a través de los cuales fluye la información de una manera determinada. ○ Entrada - Salida (E/S): es donde la información entra y sale. Es el primer y último paso del modelo. ○ Memoria Interna (MI): es donde se alojan los datos, incluyendo los programas y los datos temporales que se generen. ○ Unidad Central de Proceso (UCP): es quien realiza todas las transformaciones de datos, es decir, el proceso en sí. ● Modelo de Funcionamiento de Programa Almacenado: es el concepto que implica que para poder ser ejecutado un programa debe ser cargado previamente en la memoria interna (MI). ● Sistema Operativo (SO): programa encargado de la administración de los recursos y la solución a la disputa entre solicitudes de diferentes procesos. Administra el equipo y responde a los programas que piden servicios. Ejemplos de SOs son Windows, Linux, macOS, Android, iOS, Fuchsia, ChromeOS, TempleOS, etc.. ● Programa: es un Algoritmo escrito en un Lenguaje de Programación. También se lo puede describir como la suma de algoritmos (A) y datos (D) tal que P = A + D. ● Dato: en el mundo de las Tecnologías de la Información, un dato es una representación simbólica ya sea numérica o alfabética, cuyo valor está listo para ser procesado por un ordenador y mostrarlo a un usuario en modo de información. ● Algoritmo: serie finita de pasos precisos para alcanzar un objetivo. ● Lenguaje: es un protocolo de comunicación. ● Compilación: técnica de traducción de lenguaje el cual consiste en traducir completamente un programa y sólo entonces puede ser ejecutado. ● Interpretación: técnica de traducción de lenguaje el cual consiste en traducir sentencia a sentencia a medida que se solicita su ejecución. ● Programa fuente: es un archivo de instrucciones escrito en un lenguaje de alto nivel. Se denominan así debido a que desde allí parten los traductores
Este archivo fue descargado de https://filadd.com
●
● ● ● ● ●
FI
●
OM
●
LA DD .C
●
para generar una versión ejecutable. Generalmente se pueden editar con cualquier editor, por muy básico que sea. Multi paradigma: un lenguaje con esta característica es equivalente a decir que puedes construir programas con distintos enfoques o modelos de resolución de problemas usando el mismo lenguaje. Multiplataforma: un lenguaje capaz de ser ejecutado en distintos sistemas operativos. Flujo de control de un programa (FCP): la secuencia en que las sentencias se ejecutan (la ejecución de la primera a la última línea, una por una, es un Flujo de Control Estándar en Python). Invocar: usar (ej: invocar una función = usar una función). Cuerpo de la función: las líneas que indican qué va a hacer una función. Sentencias estructuradas: sentencias que tienen una o varias líneas de encabezado. Ámbito de la función: la memoria que dispone una función para ser ejecutada (con sus sentencias, datos y resultados). Ciclos: cantidad constante de repeticiones. Sus componentes son la invariante y el cuerpo. ○ Invariante: es la parte de la sentencia que permite decidir si se ejecutará el Cuerpo de ese Bucle una vez más o se abandonará el mismo para proseguir con la sentencia siguiente al Ciclo. Normalmente se escribe como una condición válida. ○ Cuerpo: es la parte del Bucle que se ejecutará repetidamente hasta que la evaluación de la Condición o Invariante diga lo contrario. Aspectos relevantes del bucle: ○ Cuerpo: Bloque de sentencias que se ejecuta por vuelta. ○ Condición o Invariante: Puerta de entrada/salida al Ciclo. ○ Estado Previo: Valores de las variables de la Condición antes del Bucle. ○ Paso: Posibilidad de cambio de valor en alguna de las variables de la Condición. Secuencias (type sequence): en Python es un grupo de elementos con una organización interna; que se alojan de manera contigua en la memoria. String: es una Subclase de secuencia que sólo admite caracteres como elementos. Tuplas (type tuple): son una secuencia inmutable y heterogénea de objetos que pueden ser de cualquier tipo, a diferencia de las string que sólo pueden tener caracteres. Listas (type list): son una secuencia genérica heterogénea mutable. Diccionario (type dict): es una Estructura que permite mapear un valor (clave) con un grupo de datos. Estructuras de Datos persistentes: (perduran más allá de la vida de quien las genera) se conocen genéricamente como archivos. Un archivo debe
●
● ●
● ● ●
Este archivo fue descargado de https://filadd.com
guardarse en algún dispositivo que administre datos no volátiles (es decir, no desaparecen cuando se apaga el equipo). ●
Algoritmos
Análisis del problema. Primer esbozo de solución. División del problema en partes. Ensamble de las partes.
LA DD .C
1. 2. 3. 4.
OM
La creación de un algoritmo, para programadores, habitualmente consiste en los siguientes pasos:
Manejo de errores
Cuando de Sistemas y Programas hablamos:
FI
● El ingreso de datos es uno de los puntos de mayor frecuencia de errores. ● El ingreso de datos es el lugar más económico donde se pueden detectar y salvar errores.
Para intentar disminuir la tasa de errores en el ingreso podemos:
● Simplificar el formato de los datos o adaptarlos a sistemas de lectura automática (códigos de barra, QR, etc.). ● Validar los ingresos.
A la hora de testear algo, como cuando se usa un while loop, hay que utilizar como condición un ingreso inválido para que ofrecerle al usuario cuantas oportunidades sean necesarias para que ingrese un dato válido. Un ejemplo sería:
par = int(input('Ingresá un número par: '))
Este archivo fue descargado de https://filadd.com
while par < 0 or par % 2 != 0: # También te serviría la condición # par < 0 or par % 2. par = int(input('Ingresá un número par: ')) print('Tu número es',par)
Ingresá un número par: 11 Ingresá un número par: 8 Tu número es 8
LA DD .C
>>>
OM
Una ejecución ejemplo podría ser:
Hay otros casos donde el usuario puede ingresar un tipo inválido de dato, como un string en vez de un int. Estas situaciones podrían causar errores fatales en el programa, por lo que también se recomienda validar ante estas situaciones. Una forma de manejar elegantemente esta situación sería aceptar el ingreso como string, validar que el ingreso sea compatible con un número y recién castear: # Solicita el ingreso de un string (aunque se espera un número). num = input('Ingresá un número: ')
FI
# ¿Es compatible con un número? # Si no es así, vuelve a pedirle un número al usuario. while not num.isnumeric(): num = input('Ingresá un número: ')
# Si es compatible con un número, imprímelo junto a un mensaje. print('Tu número es',int(num)) Miremos una probable ejecución:
Ingresá un número: cxc Ingresá un número: 3.66 Ingresá un número: 22 Tu número es 22 >>>
Este archivo fue descargado de https://filadd.com
Disponemos de la sentencia estructurada try/except que funciona básicamente intentando realizar una acción (con try, intento con recaudos) y si tiene éxito, el programa prosigue relajadamente, sin embargo, si en el intento emerge un error, la sentencia lo captura y lo trata de una manera conveniente en la cláusula except. La sintaxis es:
except: Un ejemplo de uso sería:
LA DD .C
sigue = True
OM
try:
while sigue: try:
num = int(input('Ingresá un número entero: ')) sigue = False except:
print('Debe ser un número entero') print('Tu número es',num)
FI
Una ejecución posible sería:
Ingresá un número entero: hola Debe ser un número entero
Ingresá un número entero: 1.33 Debe ser un número entero Ingresá un número entero: -77 Tu número es -77 >>> Nota: Los errores deben escribirse exactamente como los identifica Python. En el ejemplo, el Código de error que pretendemos capturar es: ValueError. Debe anotarse tal cual.
Este archivo fue descargado de https://filadd.com
sigue = True while sigue: try: num = int(input('Ingresá un número entero: ')) sigue = False except ValueError: print('Debe ser un número entero')
OM
print('Tu número es',num)
En este caso la excepción se activará únicamente si el error que se produce es de ese tipo.
Tipo de dato entero (int) real (float)
LA DD .C
Tablas
Ejemplos
1, 2, 3, 4…
0.55, 0.23897, 2.569, 0.0, -2.4…
complejo (complex)
(10,9j) la componente con j del par indica la parte imaginaria
lógico (bool)
true, false
“¡Hola mundo!”
FI
texto (str)
Nombre
Ejemplo(s)
+
Suma
10 + 10 = 20
-
Resta
10 - 5 = 5
*
Multiplicación
5 * 2 = 10
/
División con precisión decimal
10 / 3 = 3.33
//
División entera
10 / 3 = 3
Símbolo(s)
Operadores aritméticos
Este archivo fue descargado de https://filadd.com
Resto
10 % 3 = 1 || 10 % 4 = 2
+=
Suma abreviada, agrega
10 += 10 → 20
-=
Resta abreviada, quita
10 -=5 → 5
*=
Multiplicación abreviada
5 *=2 → 10
/=
División abreviada
10 /=3 → 3.33
//=
División entera abreviada
10 //= 3 → 3
%=
Resto abreviado
10 %= 3 → 1 || 10 %= 4 → 2
OM
%
Operadores de texto
+
Nombre
Ejemplo
LA DD .C
Símbolo(s)
Concatenación
‘Hola, ‘ + ‘Juan.’ → ‘Hola Juan.’
Repetición
‘ja’*3 → ‘jajaja’
Selección de carácter
‘Hola’[0] → ‘H’
Selección de texto
‘Hola’[0:2] → ‘Hol’
Concatenación abreviada
‘Hola’ += ' y chau.' → ‘Hola y chau.’
Repetición abreviada
‘Hola’ *= 2 → ‘HolaHola’
Comparación de textos
1 > 2 → False 400 != 399 → True
Devuelve la longitud de la secuencia
len([1, 2, 3, 4]) → 3
Devuelve el mínimo elemento de “s”.
min([10, 50, 100, 5, 20, -2]) → -2
max(s)
Devuelve el máximo elemento de “s”.
max([10, 50, 100, 5, 20, -2]) → 100
sorted(s)
Devuelve “s” ordenada en forma de lista.
sorted([10, 50, 100, 5, 20, -2]) → [-2, 5, 10, 20, 50, 100]
reversed(s)
Devuelve “s” invertida.
reversed([10, 50, 100, 5, 20, -5]) [100, 50, 20, 10, 5, -2]
s.count(eleme
Devuelve la cantidad de veces que
“Hello world!”.count(“o”) → 2
* [k] o [-k] [i:j:p] += *= >, =, = in
1 == 2/2 → True
Distinto
1 != 2 → True
Menor
1 < 2 → True
Menor o igual
2 2 → False
Mayor o igual
1 >= 2 → False
Pertenece
4 in evenNumbers → True
No pertenece
3 not in evenNumbers → True
FI
not in
Igual
Nombre
Métodos de una lista Descripción
Ejemplo
lista.copy()
Copia la lista original en una variable distinta. a = [1, 2, 3] b = a.copy() print(b) → [1, 2, 3]
lista.append(valor).
Agrega el elemento valor al final de “lista”.
[1, 2, 3].append(4) [1, 2, 3, 4]
lista.insert(p, v)
Inserta el elemento “v” en la posición “p”.
[1, 2, 3, 5].insert(3, 4) [1, 2, 3, 4, 5]
Este archivo fue descargado de https://filadd.com
Quita de la lista el elemento “valor”.
[1, 2, 3, 4, 5].remove(4) [1, 2, 3, 5]
lista.pop([índice])
Quita de “lista” el elemento de la posición “índice”. Si no se usa este parámetro, quita el último elemento.
[1, 2, 3, 4, 5].pop() [1, 2, 3, 4] [1, 2, 3, 4, 5].pop(3) [1, 2, 3, 5]
lista.extend(otraLista)
Agrega “otraLista” al final de “lista”.
a = [1, 2, 3] b = [“a”, “b”, “c”] a.extend(b) [1, 2, 3, “a”, “b”, “c”]
lista.sort([reverse=Tru e][,key=función])
Ordena la lista. Si se emplea el parámetro “reverse”, en orden descendente, si se usa “key”, con criterio de ordenamiento “función”.
LA DD .C
lista.reverse()
OM
lista.remove(valor)
[1, 3, 2].sort() → [1, 2, 3] [1, 2, 3].sort(reverse=True) → [3, 2, 1]
Invierte el orden de la lista (el primero pasa a ser último).
[1, 2, 3].reverse → [3, 2, 1]
lista.count(valor)
Cuenta la cantidad de apariciones de valor en la lista.
[1, 0, 1, 1, 0, 1].count(1) →4
lista.index(valor)
Devuelve la posición de la primera aparición de valor en la lista.
[“H”, “e”, “l”, “l”, “o”].index(“l”) → 2
Métodos de una cadena (string)
Nombre
Ejemplo
Devuelve una copia del string con la primera letra en mayúscula y el resto en minúscula.
‘hello world’ → ‘Hello world’
s.center(ancho[,relleno])
String centrado con ese relleno a los costados.
‘hello world’.center(3, ‘a’) → ‘aaahello worldaaa’
s.find(substring[,from[,to]])
Devuelve la primera posición de comienzo del substring en s.
‘hello world’.substring(‘e’, ‘r’) → ‘ello wor’
s.rfind(substring[,from[,to]])
Devuelve la última posición de comienzo del substring en s.
s.format(args, *)
Devuelve s formateada
FI
s.capitalize()
Descripción
texto = "Bienvenido a mi
Este archivo fue descargado de https://filadd.com
sustituyendo dinámicamente un texto.
aplicación{0}" print(texto.format(" en Python"))
Retorna: “Bienvenido a mi aplicación en Python”
OM
texto = "Bruto: ${bruto} + IVA: ${iva} = Neto: ${neto}" print(texto.format(bruto = 100, iva = 21, neto = 121))
Retorna: “Bruto: $100 + IVA: $21 = Neto: $121”
Arma una string uniendo los elementos de iterable e intercalándolos con s.
s.rindex(substring[,from[,to]])
idem a s.rfind
s.ljust(ancho[,relleno])
Justifica hacia la izquierda.
s.rjust(ancho[,relleno])
Justifica hacia la derecha.
s.lower()
Devuelve s en minúsculas.
s.upper()
s.translate(pares)
Retorna: a-b-c
Devuelve s en mayúsculas.
Asocia en un diccionario los correspondientes caracteres de las cadenas x e y.
FI
s.maketrans(x[,y[,z]])
tup = (‘a’, ’b’, ’c’) print(‘-‘.join(tup))
LA DD .C
s.join(iterable)
vocales = "aeiou" numeros = "12345" 12 texto = "murcielagos" print(texto.maketrans(vocal es, numeros))
Retorna:
{97: 49, 111: 52, 117: 53, 101: 50, 105: 51}
Devuelve s con los caracteres asociados en el diccionario pares reemplazados.
vocales = "aeiou" acentos = "áéíóú" texto = "murcielagos" parejas = texto.maketrans(vocales, acentos) print(texto.translate(parej
Este archivo fue descargado de https://filadd.com
as)
Retorna: múrcíélágós Reemplaza el substring de antes por el de ahora.
s.strip()
Elimina los espacios del inicio y fin del string.
s.lstrip()
Elimina los espacios del inicio.
s.rstrip()
Elimina los espacios del final.
s.swapcase()
Devuelve s con las mayúsculas convertidas en minúsculas y viceversa.
s.split([separador[,maximaDivi sion]])
Devuelve una lista cuyos elementos son las partes del texto separadas por separador. Si se omite separador toma blancos.
OM
s.replace(antes,ahora[,cantida d])
LA DD .C
“Hello World”.swapcase() → “hELLO wORLD”
s.rsplit([separador[,maximaDiv ídem a derecha. ision]])
Devuelve True si s comienza con prefijo, si no False.
s.endswith(sufijo[,desde[,hast a])
Devuelve True si s termina con “Hello”.endswith(“lo”) → True sufijo, si no False.
s.zfill(ancho)
Rellena con ceros a la izquierda hasta el ancho.
s.title()
“Hello”.startswith(“He”) → True
Devuelve s en minúsculas con cada palabra inicializada en mayúsculas.
“hello guys we eat meat” → “Hello Guys We Eat Meat”
FI
s.startswith(prefijo[,desde[,ha sta])
s.isnumeric()
Devuelve True si s es numérico, si no False.
1.isnumeric() → True “lol”.isnumeric() → False
s.isalnum()
Devuelve True si s es alfanumérico, si no False.
“abc123”.isalnum() → True [“a”, 1, “e”].isalnum() → False
s.isalpha()
Devuelve True si s es alfabético, si no False.
s.isdecimal()
Devuelve True si s tiene sólo
Este archivo fue descargado de https://filadd.com
dígitos decimales (0-9), si no False. Devuelve True si s tiene sólo números (los dígitos decimales de 0 a 9), si no False.
s.isprintable()
Devuelve True si s es un carácter imprimible, si no False.
s.isspace()
Devuelve True si s es espacio, si no False.
“ ”.isspace() → True “ a “.isspace() → False
s.istitle()
Devuelve True si s es un título, si no False.
“We jump together” → False “We Jump Together” → True
s.isidentifier()
Devuelve True si s es un nombre válido de objeto, si no False.
s.islower()
LA DD .C
s.isupper()
2648248376.isdigit() → True
OM
s.isdigit()
Devuelve True si s está en mayúsculas, si no False.
“HELLO” → True “HELLo” → False
Devuelve True si s está en minúsculas, si no False.
“hello” → True “hellO” → False
Métodos de un diccionario
Nombre
d.pop(clave)
Ejemplo
Elimina todos los elementos de d. foo = {“one”: 1, “two”: 2, “three”: 3} foo.clear() → {}
FI
d.clear()
Descripción
Remueve el par clave, valor del diccionario y devuelve valor. Si la clave no está da error.
{“Name”: “Tobias”, “Apellido”: “Alcaraz”}.pop(“Name”) → {“Apellido”: “Alcaraz”} (devuelve “Tobias”)
d.popitem()
Remueve y devuelve cualquier par {“Name”: “Tobias”, “Apellido”: clave, valor. Si d está vacío da “Alcaraz”}.popitem(“Name”) → error d.copy() devuelve una copia {“Apellido”: “Alcaraz”} de d en otra región de memoria. (devuelve {“Name”: “Tobias”})
d.fromkeys(secuencia)
Crea el diccionario d, tomando las
Este archivo fue descargado de https://filadd.com
claves de una secuencia d.get(clave) devuelve el valor asociado a clave. Crea el diccionario d, tomando las claves de una secuencia d.get(clave) devuelve el valor asociado a clave.
d.keys()
Devuelve una lista con las claves de d.
foo = { “Nombre”: “Tobias” “Edad”: 21 “Turno”: “Tarde” }
OM
d.items()
foo.keys() →
[“Nombre”, “Edad”, “Turno”]
Agrega los pares clave,valor de b a d. Si alguna clave existe actualiza su valor.
LA DD .C
d.update(b)
Métodos de manejo de archivos
Nombre
No es un método sino una función; abre un archivo para leer/editar. El modo hará que varíe lo que pueda hacer el programador: ● r: lectura. ● r+: lectura/escritura. ● w: sobreescritura (crea el archivo si no existe). ● a: añadir. Escribe al final del archivo. Un tercer argumento llamado encoding determina la codificación de grabado del archivo. Dos ejemplos son utf+8 o ansi.
close()
Cierra el archivo y guarda los cambios.
.read()
Permite leer una determinada
Ejemplo
foo = open(“foo.txt”, “r+”, encoding = ”'utf_8”)
FI
open(nombre[,modo]))
Descripción
foo.close()
Este archivo fue descargado de https://filadd.com
cantidad de bytes, si no se pone nada, lee hasta el final. Lee la siguiente línea (caracteres hasta el próximo \n).
.readlines()
Permite leer varias líneas, si no se indica nada, lee todas las que falten.
.write()
Permite escribir en el archivo lo que se envía como argumento.
.writelines()
Permite escribir varias líneas en un archivo.
.splitlines()
No se menciona en el PDF, foo.txt: pero devuelve una lista con Horacio cada línea en el documento Juana sin los \n al utilizar junto con María .read() (a comparación de bar.py: utilizar sólamente .readlines(), bar foo = open(“foo.txt”, el cual te devuelve una lista “r+”) con cada línea del documento pero incluye los saltos de línea print(foo.readlines()) en los elementos de la lista).
LA DD .C
OM
.readline()
[“Horacio\n”, “Juana\n”, “María”]
FI
print(foo.read().splitlin es()) [“Horacio”, “Juana”, “María”]
Nombre
import pandas as pd
data = {...}
Código/métodos de Pandas Descripción
Ejemplo
Importa la biblioteca Pandas con el alias pd.
Crea un DataFrame df a partir del diccionario data usando labels como
data = {
Este archivo fue descargado de https://filadd.com
df = pd.DataFrame(data, index = labels) df # Esto lo ponemos para mostrarlo
'animal': ['cat', 'cat', 'snake', 'dog', 'dog', 'cat', 'snake', 'cat', 'dog', 'dog'], 'age': [2.5, 3, 0.5, None, 5, 2, 4.5, None, 7, 3], 'visits': [1, 3, 2, 3, 2, 3, 1, 1, 2, 1], 'priority': ['yes', 'yes', 'no', 'yes', 'no', 'no', 'no', 'yes', 'no', 'no'] }
OM
índice.
labels = [...]
labels = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
.describe()
Devuelve una serie con un resumen descriptivo que incluye el número de datos, su suma, el mínimo, el máximo, la media, la desviación típica y los cuartiles.
df.info()
df.describe()
Devuelve las primeras n df.head(3) filas del DataFrame df. En el caso de no especificarlo, nos devuelve las primeras 5.
FI
.head(n)
Devuelve información sobre el DataFrame incluidos sus índices y columnas, valores no nulos y uso de memoria.
LA DD .C
.info()
Lo mismo que .head().
df.iloc[:3]
.loc[filas, columnas]
Devuelve un DataFrame con los elementos de las filas de la lista filas y las columnas de la lista columnas. Si queremos que muestre todas las columnas podemos poner : en su lugar.
df.loc[:, ['animal', 'age']]
.iloc[:n]
(Muestra todas las filas, pero sólo las columnas “animal” y “age”). df.loc[df.index[[3, 4, 8]], ['animal', 'age']] (Muestra las filas 3, 4, y 8, y las columnas “animal” y “age”. df.loc['k'] = ['dog', 5.5, 2, 'no']
Este archivo fue descargado de https://filadd.com
df Crea la fila “k” con los valores en sus respectivas columnas de “dog”, 5.5, 2, y “no”. [[columnas]]
Lo mismo que .loc[]
df[['animal', 'age']] (Muestra todas las filas, pero sólo las columnas “animal” y “age”).
df[df[columna] condición]
Filtra elementos de la tabla.
df[df['age'].isnull()]
OM
Devuelve True si el valor en la celda es Null, si no, devuelve False.
df[df['visits'] > 3]
(Muestra las filas cuyo valor en la columna “visits” sea superior a 3).
LA DD .C
.isnull()
df[df['age'].isnull()] Selecciona las filas cuya columna “age” tenga un valor nulo (null). df[(df['animal'] == 'cat') & (df['age'] < 3)] Selecciona las filas cuyas columnas “animal” tenga el valor “cat” y cuya columna “edad” sea inferior a 3.
Muestra los elementos que se encuentren en el rango [a,b].
df[df['age'].between(2, 4)]
Sobreescribe el valor en una celda.
df.loc['f', 'age'] = 1.5
Suma todos los valores de la columna seleccionada.
df['visits'].sum()
Agrupa las filas según su tipo de valor.
df.groupby('animal')
FI
.between(n1, n2)
.loc[fila, columna] = valor
.sum(columna)
.groupby(fila)
Devuelve las filas cuya columna “age” tiene un valor entre 2 y 4.
Sobreescribe la celda en la fila f, columna “age” para que sea 1.5.
Suma todos los valores en la columna “visits”.
Agrupa las filas según su animal.
Este archivo fue descargado de https://filadd.com
Devuelve la media de los valores en una columna.
df.groupby('animal')['age'].mean()
.drop(fila)
Recibe el índice de una fila y la remueve.
df = df.drop('k') df
.value_counts()
Devuelve cuántas veces se repite un valor en una columna.
df['animal'].value_counts()
.sort_values(by = [columnas], ascending = [booleanos por columna])
Ordena las columnas en forma ascendiente o no.
.map()
Transforma los valores de la columna entera, le pasamos un diccionario con elementos del tipo {valor_viejo: valor_nuevo}
.replace()
OM
Devuelve el valor medio de los valores en una columna.
df.sort_values(by = ['age', 'visits'], ascending = [False, True]) df['priority'] = df['priority'].map({'yes': True, 'no': False}) df
LA DD .C
.mean()
Reemplaza todos los valores específicos en una columna.
En la columna “priority”, reemplaza los valores “yes” por “True” (string → bool) y los “no” por “False” (string → bool). df['animal'] = df['animal'].replace('snake', 'python') df
FI
Reemplaza cada “snake” en la columna “animal” por “python”.
Este archivo fue descargado de https://filadd.com
View more...
Comments