Собираем всё вместе (2)
Отлично! Вы только что обобщили анализ языков твитов из предыдущей главы, добавив аргумент по умолчанию для имени столбца. Теперь сделаем эту функцию ещё более гибкой: позволим пользователю передавать произвольное количество названий столбцов!
Как и прежде, для удобства библиотека pandas уже импортирована как pd, а файл 'tweets.csv' загружен в DataFrame tweets_df. Часть кода из предыдущего задания также уже предоставлена.
Это упражнение является частью курса
Введение в функции Python
Инструкции к упражнению
- Заполните заголовок функции: укажите параметр для DataFrame
dfи гибкий аргумент*args. - Заполните цикл
forвнутри определения функции так, чтобы перебор выполнялся по кортежуargs. - Вызовите
count_entries(), передав DataFrametweets_dfи название столбца'lang'. Сохраните результат в переменнуюresult1. - Вызовите
count_entries(), передав DataFrametweets_dfи названия столбцов'lang'и'source'. Сохраните результат в переменнуюresult2.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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)