Unirlo todo (3)
En el ejercicio anterior, te basaste en tu función count_entries()
para añadir un bloque try-except
. Esto era para que los usuarios recibieran mensajes de ayuda al llamar a tu función count_entries()
y proporcionar un nombre de columna que no está en el DataFrame. En este ejercicio, en lugar de eso, plantearás un ValueError
en el caso de que el usuario 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
- Si
col_name
no es una columna del DataFramedf
, se produce un errorValueError 'The DataFrame does not have a ' + col_name + ' column.'
. - Llama a tu nueva función
count_entries()
para analizar la columna'lang'
detweets_df
. Almacena el resultado enresult1
. - Imprime
result1
. Ya lo hemos hecho por ti, así que pulsa "Enviar respuesta" para comprobar el resultado. En el siguiente ejercicio, verás que plantea losValueErrors
necesarios.
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."""
# Raise a ValueError if col_name is NOT in DataFrame
if col_name not in df.columns:
____
# Initialize an empty dictionary: cols_count
cols_count = {}
# 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
# Call count_entries(): result1
____
# Print result1
print(result1)