【发布时间】:2018-08-23 07:31:38
【问题描述】:
我有一个名为 _data 的数据框,如下所示:
frame id x1 y1 x2 y2 score class visibility
1 1 1363 569 103 241 1 1 0.86014
2 4 1362 568 103 241 1 1 0.86173
3 4 1362 568 103 241 1 1 0.86173
4 5 1362 568 103 241 1 1 0.86173
5 5 1362 568 103 241 1 1 0.86173
6 5 1362 568 103 241 1 1 0.86173
7 6 1362 568 103 241 1 1 0.86173
8 6 1362 568 103 241 1 1 0.86173
9 7 1362 568 103 241 1 1 0.86173
10 7 1362 568 103 241 1 1 0.86173
.
.
.
数据框中有 108003 行和 141 个唯一 ID。一个 ID 代表一个特定的对象,只要该框架具有该对象,该 ID 就会重复。换句话说,我的数据有 141 个不同的对象和 108003 帧。我编写了一个代码来识别具有相同对象但标有不同 ID 的框架。这保存在另一个名为 _data_to_merge 的数据框中,如下所示。
indexID matchID
4 5
6 7
8 9
12 13
18 19
20 21
.
.
.
第二个数据框显示哪些索引被错误地分类为不同的对象。 _data_to_merge 中的 'indexID' 与 _data 中的 'id' 相同。
以_data_to_merge中的第一行为例,它表示索引4和5是相同的。因此,我需要将 _data 中所有 'id' 5 的 'id' 值更改为 4。这是更改所有 'id' 后最终表格应该是什么样子的示例。
_datanew:
frame id x1 y1 x2 y2 score class visibility
1 1 1363 569 103 241 1 1 0.86014
2 4 1362 568 103 241 1 1 0.86173
3 4 1362 568 103 241 1 1 0.86173
4 4 1362 568 103 241 1 1 0.86173
5 4 1362 568 103 241 1 1 0.86173
6 4 1362 568 103 241 1 1 0.86173
7 6 1362 568 103 241 1 1 0.86173
8 6 1362 568 103 241 1 1 0.86173
9 6 1362 568 103 241 1 1 0.86173
10 6 1362 568 103 241 1 1 0.86173
.
.
.
'id' 5 的所有行都已更改为 4,'id' 7 的所有行已更改为 6。我该如何处理?
【问题讨论】:
标签: python python-2.7 pandas dataframe