pandas / python合并/合并重复行的相关数据,并在现有数据框中添加新列

时间:2019-07-05 10:01:01

标签: pandas data-science

我是Pandas的新手,并希望您在数据切片方面提供帮助。

我有1000万行重复的转储。请参阅此image,以获取包含我要执行的步骤的行示例。

如您在图像中看到的,来源'UK'的条件“ ABC”列在Trg列中有2个重复条目。我需要帮助:

  1. 添加一个串联的新列“所有目标”,如图所示
  2. 从上表中删除重复项,以便仅显示不重复的唯一值,如图像中的步骤2所示

在这方面的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我会这样:

部分1: 首先定义一个可以执行所需功能的函数,然后使用apply方法:

def my_func(grouped):
  all_target = grouped["Trg"].unique()
  grouped["target"] = ", ".join(all_target)
  return grouped

df1 = df.groupby("Criteria").apply(my_func)
#output:example with first 4 rows
    Criteria    Trg     target
0       ABC     DE      DE, FR
1       ABC     FR      DE, FR
2       DEF     UK      UK, FR
3       DEF     FR      UK, FR

PART 2:

df2 = df1.drop_duplicates(subset=["Criteria"])

我只在前四行尝试过,所以请告诉我它是否有效。