В этом руководстве мы рассмотрим переименование и объединение.

Часто к нам приходят данные с именами столбцов, индексами или другими соглашениями об именах, которые нас не удовлетворяют. В этом случае вы узнаете, как использовать функции pandas, чтобы изменить имена оскорбительных записей на что-то лучшее.

Вы также узнаете, как объединять данные из нескольких фреймов данных и/или рядов.

Переименование:

Первая функция, о которой мы поговорим, — это функция переименования, которая принимает в качестве аргумента столбца словарь, содержащий старое имя столбца и новое имя, которое вы хотите ему присвоить.

reviews.rename(columns={'points': 'score'})

эта функция поддерживает различные форматы ввода, но обычно словарь Python является наиболее удобным. Вот пример использования его для переименования некоторых элементов индекса.

reviews.rename(index={0: 'firstEntry', 1: 'secondEntry'})

это заменит индекс 0 на «firstEntry», а индекс 1 на «secondEntry», это не очень практично, поэтому вы, вероятно, будете очень часто переименовывать столбцы, но очень редко переименовывать значения индекса. Для этого set_index() обычно удобнее.

Объединение:

При выполнении операций с набором данных нам иногда нужно будет комбинировать разные кадры данных и/или ряды нетривиальными способами. У Pandas есть три основных метода для этого. В порядке возрастания сложности это concat(), join() и merge(). Большую часть того, что может сделать merge(), можно также сделать проще с помощью join(), поэтому мы опустим его и сосредоточимся здесь на первых двух функциях.

Самый простой способ объединения — concat(). Получив список элементов, эта функция соединит эти элементы вместе по оси.

Это полезно, когда у нас есть данные в разных объектах DataFrame или Series, но с одинаковыми полями (столбцами). Один пример: набор данных YouTube Videos, который разбивает данные по стране происхождения (например, Канада и Великобритания, в этом примере). Если мы хотим изучать несколько стран одновременно, мы можем использовать concat(), чтобы смешать их вместе:

canadian_youtube = pd.read_csv("../input/youtube-new/CAvideos.csv")
british_youtube = pd.read_csv("../input/youtube-new/GBvideos.csv")
pd.concat([canadian_youtube, british_youtube])

Самый средний комбайнер по сложности — join(). join() позволяет комбинировать разные объекты DataFrame, имеющие общий индекс. Например, чтобы извлечь видео, которые оказались популярными в один и тот же день в и Канаде и Великобритании, мы могли бы сделать следующее:

left = canadian_youtube.set_index(['title', 'trending_date'])
right = british_youtube.set_index(['title', 'trending_date'])

left.join(right, lsuffix='_CAN', rsuffix='_UK')

Здесь необходимы параметры lsuffix и rsuffix, поскольку данные имеют одинаковые имена столбцов как в британском, так и в канадском наборах данных. Если бы это было не так (потому что, скажем, мы их заранее переименовали), они бы нам не понадобились.

Это последнее руководство в этой серии, если вы хотите применить на практике все знания, которые вы приобрели в этой серии руководств, kaggle предлагает отличную среду для практики на наборах данных, а также на заданиях.