熊猫:按多个索引之一对行进行分组

时间:2018-12-26 18:49:19

标签: python pandas dataframe indexing grouping

我正在尝试从一个包含人名和其他几个弱识别列的表中生成一个不同的人列表。我假设如果名称和另一列相等,则行引用的是同一个人。例如,如果两行均以“ John Brown”作为名称,则很可能会引用两个共享该名称的人,但是如果两行以“ John Brown”为名称 AND “列A中的123”,那么我假设他们引用的是同一“约翰·布朗”。 B和C列也是如此。

  • 行ID
  • 人名
  • A列
  • B列
  • C列
  • PersonId(分组后添加)

生成不重复人员列表后,我想在原始表中插入一列,指示该行所引用的不重复人员的PersonId。

我的问题是:熊猫有没有一种干净,有效的方式来对付这种情况?如果[名称,A列]等于 OR ,[名称,B列]等于 OR ,[名称,C列]相等,则两行在同一行中。

总的来说,我想知道这是否属于某一类常见的数据科学操作。

1 个答案:

答案 0 :(得分:0)

根据您的描述,似乎您正在将重复项分组在一起。

您可以使用以下方法简单地删除重复项:

df.drop_duplicates()

接着分配个人ID。