在熊猫中串联重叠的DataFrames

时间:2019-01-31 09:40:36

标签: python pandas dataframe duplicates

我有大量的数据帧,每个数据帧包含大约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。我想实现的,是有一个具有两个文件,但没有重复的所有条目一个单一的数据帧。

不幸的是,不能选择编辑文件并手动删除重复项。

0 个答案:

没有答案