我有大量的数据帧,每个数据帧包含大约6000到12000个条目。它们按时间戳排序,但不幸的是,有些重叠。需要将它们串联到一个非常大的数据帧中,同时删除重复的时间戳记条目。
我尝试了合并,连接和附加,但都没有太大帮助。我感觉我缺少文档中的关键细节,但是找不到错误。
objs = [block.dataframe() for block in plot.blocks.all()]
result = pd.concat(objs, sort=True)
所有DataFrame具有相同的结构
我有两个特定的DataFrame,它们以以下间隔重叠:
objs[3] -> [20:00:00, 21:59:59]
和objs[4] -> [20:43:27, 23:59:59]
。执行上面的代码(我正在7个DataFrame上测试)后,我收到以下错误:
"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。我想实现的,是有一个具有两个文件,但没有重复的所有条目一个单一的数据帧。
不幸的是,不能选择编辑文件并手动删除重复项。