处理不完全独特的数据?

时间:2015-05-12 13:46:55

标签: database pandas

如果文件中有非唯一数据可以加入并且应该加入,人们会怎么做?

我的例子是客户数据。一个文件将跟踪交互的开始以及从系统角度花费多长时间。当员工记录交互时,另一个文件会跟踪交互 - 这通常在交互结束时完成,但可能会有延迟。因此无法匹配文件1和文件2之间的时间戳。我想确定3个文件中特定问题类型的持续时间和评级。

我通常创建一个Date | CustomerID | EmployeeID的索引(在pandas中),它在大部分时间都能正常工作(该客户在该日期与该员工进行了互动)。但有时同一个客户在同一天与同一个客户进行交互,因此我有一个重复的值。这并没有让我感到困扰,直到我注意到我的联接(pd.merge)导致了重复数据,并且偶然的一次异常交互被重复,这导致了一些分析。

我是否应该完全放弃与重复的任何互动?我是否应该根据某种类型的时间间隔创建一个更独特的ID(例如,如果EndDatetime距离另一个文件的日期时间X分钟(通常接近交互结束)?

文件1:

StartDatetime | CustomerID | EmployeeID | Duration | EndDatetime

文件2:

Datetime | CustomerID | EmployeeID | Issue

文件3:

Datetime | CustomerID | EmployeeID | Rating

1 个答案:

答案 0 :(得分:1)

我相信这个问题的正确答案更多地依赖于您的数据的用例而不是其他任何东西。就个人而言,我经常处理交互数据,在这些情况下,我更喜欢按交互时间进行索引,因为这两种交互是真正独特的。但是,如果我正在执行的分析没有考虑发生的交互量,并且只考虑相关各方,则首选丢弃重复交互。在其他情况下,分组是可取的,但由于您的示例中的每个交互看起来都是真正独立的,因此分组似乎是不明智的,您可以自然分组的唯一标准是评级,并且似乎是一个错误的决定来单独汇总您正在执行的任何分析。