Unirlo todo (2)
A veces, cometemos errores al llamar a las funciones, incluso los que tú mismo has cometido. Pero no te preocupes. En este ejercicio, mejorarás tu trabajo anterior con la función count_entries()
en el último capítulo y le añadirás un bloque try-except
. Esto permitirá que tu función proporcione un mensaje de ayuda cuando el usuario llame a tu función count_entries()
pero proporcione un nombre de columna que no está en el DataFrame.
Una vez más, para tu comodidad, pandas
se ha importado como pd
y el archivo 'tweets.csv'
se ha importado en el DataFrame tweets_df
. También se proporcionan partes del código de tu trabajo anterior.
Este ejercicio forma parte del curso
Introducción a las funciones en Python
Instrucciones de ejercicio
- Añade un bloque
try
para que cuando se llame a la función con los argumentos correctos, procese el DataFrame y devuelva un diccionario de resultados. - Añade un bloque
except
para que cuando se llame incorrectamente a la función, muestre el siguiente mensaje de error:'The DataFrame does not have a ' + col_name + ' column.'
.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
# Define count_entries()
def count_entries(df, col_name='lang'):
"""Return a dictionary with counts of
occurrences as value for each key."""
# Initialize an empty dictionary: cols_count
cols_count = {}
# Add try block
____:
# Extract column from DataFrame: col
col = df[col_name]
# Iterate over the column in DataFrame
for entry in col:
# If entry is in cols_count, add 1
if entry in cols_count.keys():
cols_count[entry] += 1
# Else add the entry to cols_count, set the value to 1
else:
cols_count[entry] = 1
# Return the cols_count dictionary
return cols_count
# Add except block
____:
____
# Call count_entries(): result1
result1 = count_entries(tweets_df, 'lang')
# Print result1
print(result1)