Unirlo todo (2)
Vaya, acabas de generalizar el análisis del lenguaje Twitter que hiciste en el capítulo anterior para incluir un argumento predeterminado para el nombre de la columna. Ahora vas a generalizar esta función un paso más al permitir al usuario que le pase un argumento flexible, es decir, en este caso, ¡tantos nombres de columnas como desee el usuario!
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 del ejercicio
- Completa el encabezado de la función al proporcionar el parámetro para el DataFrame
df
y el argumento flexible*args
. - Completa el bucle
for
dentro de la definición de la función para que el bucle se produzca sobre la tuplaargs
. - Llama a
count_entries()
y pásale el DataFrametweets_df
y el nombre de la columna'lang'
. Asigna el resultado aresult1
. - Llama a
count_entries()
y pásale el DataFrametweets_df
y los nombres de las columnas'lang'
y'source'
. Asigna el resultado aresult2
.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Define count_entries()
def ____(____, ____):
"""Return a dictionary with counts of
occurrences as value for each key."""
#Initialize an empty dictionary: cols_count
cols_count = {}
# Iterate over column names in args
for col_name in ____:
# 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
result1 = count_entries(____, ____)
# Call count_entries(): result2
result2 = count_entries(____, ____, ____)
# Print result1 and result2
print(result1)
print(result2)