Вот пример задачи:панды переиндексации в dataframe с повторяющимися ключами
>>> df = DataFrame({'a':[1,2]},index=[datetime.today(),datetime.today()+timedelta(days=1)])
>>> df
a
2013-02-15 09:36:14.665272 1
2013-02-16 09:36:14.857322 2
>>> dup_index = datetime.today()
>>> df2 = DataFrame({'a':[2,3]},index=[dup_index,dup_index])
>>> df2
a
2013-02-15 09:37:11.701271 2
2013-02-15 09:37:11.701271 3
>>>
>>> df2.reindex(df.index,method='ffill')
Traceback (most recent call last):
...
Exception: Reindexing only valid with uniquely valued Index objects
Я хочу объединить df2 с ФР. Поскольку времена индекса не совпадают, я хочу сопоставить время df2 с ближайшим последним временем в df, которое является первой строкой. Один из искусственных способов, с которыми я столкнулся, заключался в том, чтобы добавить фальшивое микросекундное значение во второй временной ряд, чтобы он стал уникальным. Но это слишком медленно для больших фреймов данных. Есть ли какая-то особая причина, почему это не разрешено? Кажется, это логично. Есть ли лучшие способы преодолеть это ограничение?
возможно вы Шоул d дать пример для исходной задачи (с индексом временного ряда). mabe есть еще один вариант для решения вашей проблемы. – bmu
Я изменил свой пример, чтобы быть ближе к моей исходной проблеме. – tarotcard
Я до сих пор не совсем понимаю вопрос. 'pd.concat ((df, df2))' работает, если вы хотите только объединить df. – bmu