Reunindo tudo isso (2)
Uau, você acabou de generalizar a análise da linguagem do Twitter que fez no capítulo anterior para incluir um argumento padrão para o nome da coluna. Agora você vai generalizar essa função ainda mais, permitindo que o usuário passe a ela um argumento flexível, ou seja, neste caso, quantos nomes de coluna o usuário desejar!
Mais uma vez, para sua conveniência, pandas
foi importado como pd
e o arquivo 'tweets.csv'
foi importado para o DataFrame tweets_df
. Partes do código de seu trabalho anterior também são fornecidas.
Este exercício faz parte do curso
Introdução a funções em Python
Instruções de exercício
- Complete o cabeçalho da função fornecendo o parâmetro para o DataFrame
df
e o argumento flexível*args
. - Complete o loop
for
dentro da definição da função para que o loop ocorra sobre a tuplaargs
. - Chame
count_entries()
passando o DataFrametweets_df
e o nome da coluna'lang'
. Atribua o resultado aresult1
. - Chame
count_entries()
passando o DataFrametweets_df
e os nomes das colunas'lang'
e'source'
. Atribua o resultado aresult2
.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# 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)