Извините, я застрял.
Я хотел бы использовать DateTimeIndex, поступающий из столбца в кадре данных, для создания новых строк в другом кадре данных.
Эти DateTimeIndex имеют для использования в качестве индексов для новых строк.
То есть со следующими данными:
import pandas as pd
df = pd.DataFrame({'Start': [pd.Timestamp('1970-01-02 00:00:00'),pd.Timestamp('1970-03-02 00:00:00')], 'End': [pd.Timestamp('1970-01-02 00:10:00'), pd.Timestamp('1970-03-02 00:10:00')], 'Freq': [pd.Timedelta(5,'m'),pd.Timedelta(5,'m')]})
df = df.apply(lambda x: pd.date_range(start = x.Start, end = x.End, freq = x.Freq), axis=1)
df2 = pd.DataFrame({'Timestamp':[pd.Timestamp('1970-01-03 00:00:00')], 'Data':[4]}).set_index('Timestamp')
Я получаю входные данные:
In [62]: df2.index
Out[62]: DatetimeIndex(['1970-01-03'], dtype='datetime64[ns]', name='Timestamp', freq=None)
In[63]: df.to_list()
Out[21]:
[DatetimeIndex(['1970-01-02 00:00:00', '1970-01-02 00:05:00',
'1970-01-02 00:10:00'],
dtype='datetime64[ns]', freq='5T'),
DatetimeIndex(['1970-03-02 00:00:00', '1970-03-02 00:05:00',
'1970-03-02 00:10:00'],
dtype='datetime64[ns]', freq='5T')]
Что я хотел бы получить является кадром данных, основанным на df2, с новыми строками, имеющими в качестве временных отметок те, которые идут из df.
df2_new
Data
Timestamp
1970-01-03 00:00:00 4
1970-01-02 00:00:00
1970-01-02 00:05:00
1970-01-02 00:10:00
1970-03-02 00:00:00
1970-03-02 00:05:00
1970-03-02 00:10:00
Я пытался использовать следующую строку, но получаю ошибку:
df2.reindex(df2.index.to_list() + df.to_list())
TypeError: unhashable type: 'DatetimeIndex'
Пример, который я привожу, упрощен, так как у df есть одна строка, но может быть несколько.
Пожалуйста, у вас есть идеи, как я могу это сделать?
Заранее спасибо за вашу помощь! Всем хорошего вечера, Bests!