Панды: Чтобы подготовиться к слиянию, как я могу получить форматы даты / года двух больших (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, чтобы они соответствовали (я выбрал "текст"), сохранил и повторно запустил мои исходные строки.