У меня довольно большое количество фреймов данных, каждый из которых содержит от 6000 до 12000 записей.Они отсортированы по отметке времени, а некоторые, к сожалению, перекрываются.Их нужно объединить в один очень большой фрейм данных, отбрасывая дублированные записи временных отметок.
Я пробовал объединять, объединять и добавлять, но ни один из них не очень помог.У меня такое ощущение, что мне не хватает важной детали в документации, но я не могу найти свою ошибку.
objs = [block.dataframe() for block in plot.blocks.all()]
result = pd.concat(objs, sort=True)
Все фреймы данных имеют одинаковую структуру
У меня есть два конкретных фрейма данныхкоторые перекрываются со следующими интервалами: objs[3] -> [20:00:00, 21:59:59]
и objs[4] -> [20:43:27, 23:59:59]
.После выполнения кода выше (который я тестирую на 7 фреймах данных) я получаю следующую ошибку:
"KeyError:
['2018-12-18 15:06:20.484' '2018-12-18 15:06:21.561'\n '2018-12-18 15:06:22.638'
...
'2018-12-18 15:59:57.553'\n '2018-12-18 15:59:58.661' '2018-12-18 15:59:59.753']
not in index"
Эти метки времени относятся к самому первому фрейму данных (из этих 7 фреймов данных).Обычно я могу читать ошибки довольно хорошо, но эта не очень помогает мне.
Английский не мой родной язык, поэтому это может быть простая ошибка интерпретации, которую я имею.
[Редактировать]
У меня есть следующие 2 csv-файла (Я отформатировал их во что-то «более понятное», потому что они огромные)
csv_file_4
0;1;2;3;4;5; ...
0;2018-12-18 20:00:00.895;4270;558000.0;13.53336;33.599998; ...
1;2018-12-18 20:00:02.003;4270;552000.0;13.516693;34.0; ...
...
2387;2018-12-18 20:43:27.515;4270;550000.0;12.050023;31.199999; ...
...
6591;2018-12-18 21:59:58.313;4270;562000.0;12.550024;32.799999; ...
6592;2018-12-18 21:59:59.421;4270;559000.0;12.400024;32.799999; ...
csv_file_5
0;1;2;3;4;5; ...
0;2018-12-18 20:43:27.515;4270;550000.0;12.050023;31.199999; ...
1;2018-12-18 20:43:28.607;4270;553000.0;12.050023;31.199999; ...
...
10797;2018-12-18 23:59:57.917;4270;558000.0;12.116691000000001;31.199999; ...
10798;2018-12-18 23:59:59.025;4270;558000.0;12.100023;30.799999; ...
Как описано выше, первый файлначинается с 20:00:00 и заканчивается 21:59:59, а вторая начинается с 20:43:27 и заканчивается 23: 59: 59.
Как видно из первого файла, первая записьиз второго файла присутствует в 2387-й строке.
Я читаю эти CSV-файлы с пандами, которые преобразует их в DataFrames.Чего я хочу добиться, так это иметь один DataFrame, содержащий все записи из обоих файлов, но без дубликатов.
Редактирование файлов и удаление дубликатов вручную, к сожалению, не вариант.