НачатьНачать бесплатно

Собираем всё вместе (2)

Отлично! Вы только что обобщили анализ языков твитов из предыдущей главы, добавив аргумент по умолчанию для имени столбца. Теперь сделаем эту функцию ещё более гибкой: позволим пользователю передавать произвольное количество названий столбцов!

Как и прежде, для удобства библиотека pandas уже импортирована как pd, а файл 'tweets.csv' загружен в DataFrame tweets_df. Часть кода из предыдущего задания также уже предоставлена.

Это упражнение является частью курса

Введение в функции Python

Посмотреть курс

Инструкции к упражнению

  • Заполните заголовок функции: укажите параметр для DataFrame df и гибкий аргумент *args.
  • Заполните цикл for внутри определения функции так, чтобы перебор выполнялся по кортежу args.
  • Вызовите count_entries(), передав DataFrame tweets_df и название столбца 'lang'. Сохраните результат в переменную result1.
  • Вызовите count_entries(), передав DataFrame tweets_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)
Редактировать и запускать код