Панды: Чтобы подготовиться к слиянию, как я могу получить форматы даты / года двух больших (1,3 миллиона строк) столбцов, чтобы соответствовать?

Держись со мной, я новичок в пандах. Чтобы объединить два больших фрейма данных, мне нужно сопоставить несколько сотен тысяч строк по трем столбцам. Формат года в одном столбце df - "ММ / ДД /ГГ ЧЧ: ММ", а в другом столбце - "ГГГГ". Это моя команда слияния:

df = pd.merge(df1, df2,  how='left', left_on=['COL1','COL2','YEAR'], 
              right_on = ['COL1','COL2','DATE'])

Последние два YY значения совпадают по столбцам - как я могу стандартизировать их, чтобы я мог сопоставить эти два?

2 ответа

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

df2.new_date_col = [datetime.strptime(x, '%m/%d/%y %H:%M') for x in df2.date_col] df2.new_year_col = [x.strftime('%Y') for x in df2.new_date_col]

Используя Excel, я использовал Data > Text to Columns, что позволило мне отделить их символом '/'. После этого я изменил формат новых столбцов YEAR, чтобы они соответствовали (я выбрал "текст"), сохранил и повторно запустил мои исходные строки.

Другие вопросы по тегам