Почему при объединении двух датафреймов с помощью .merge в pandas datetime index меняются на обычные?
Добрый день.
Подскажите, почему при объединении двух датафреймов Left Join (один из них с datetime index, другой с обычными числовыми) с помощью .merge в pandas в получившемся датафрейме datetime index не сохраняются а выходят обычные?
Код:
in
cards = pd.read_csv('/content/drive/My Drive/для учебы/card_data.csv', encoding = 'cp1250') # подгружаем файл cards
cards = cards[::100] # выделение 100 элементов, для использования меньшего количества памяти
cards.head()
in
data = pd.read_csv('/content/drive/My Drive/для учебы/data.csv', encoding = 'cp1250') # подгружаем файл cards
data['TotalCost'] = data['Quantity'] * data['UnitPrice'] # и выполняем все те же действия из первой задачи, создаем новый столбец TotalCost как произведение Quantity * UnitPrice
data.index = pd.to_datetime(data.InvoiceDate) # превращаем колонку InvoiceDate в индекс
data.drop('InvoiceDate', axis=1, inplace=True) # удаляем InvoiceDate
data = data[::100] # выделение 100 элементов, для использования меньшего количества памяти
data.head()
out
InvoiceNo StockCode Quantity UnitPrice CustomerID Country TotalCost
InvoiceDate
2010-12-01 08:26:00 536365 85123A 6 2.55 17850.0 United Kingdom 15.3
2010-12-01 09:37:00 536378 84519A 6 2.95 14688.0 United Kingdom 17.7
2010-12-01 10:03:00 536389 35004C 6 5.45 12431.0 Australia 32.7
2010-12-01 10:52:00 536398 22468 4 6.75 13448.0 United Kingdom 27.0
2010-12-01 11:29:00 536404 21061 12 0.85 16218.0 United Kingdom 10.2
in
new_data = data.merge(cards, on='CustomerID', how='left') # Left Join таблицы data и cards по общему столбцу CustomerID
new_data.head()
out
InvoiceNo StockCode Quantity UnitPrice CustomerID Country TotalCost TransactionNum
0 536365 85123A 6 2.55 17850.0 United Kingdom 15.3 127
1 536365 85123A 6 2.55 17850.0 United Kingdom 15.3 22
2 536365 85123A 6 2.55 17850.0 United Kingdom 15.3 226
3 536365 85123A 6 2.55 17850.0 United Kingdom 15.3 323
4 536378 84519A 6 2.95 14688.0 United Kingdom 17.7 248