ComenzarEmpieza gratis

Unirlo todo (2)

A veces, cometemos errores al llamar a las funciones, incluso los que 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

Ver curso

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)
Editar y ejecutar código