pandas/python合并/连接重复行的相关数据,并向现有数据帧添加新列

pandas/python合并/连接重复行的相关数据,并向现有数据帧添加新列,pandas,data-science,Pandas,Data Science,我是熊猫队的新手,希望你在数据切片方面给予帮助 我有一个1000万行的重复转储。请参考这一行的示例,其中包含我希望执行的步骤 如图所示,来源“UK”的标准“ABC”列在Trg列中有两个重复条目。我需要以下方面的帮助: 添加一个连接的新列“所有目标”,如图所示 从上表中删除重复项,以便只显示没有重复项的唯一值,如图中的步骤2所示 在此方面的任何帮助都将不胜感激。我希望: 第1部分: 首先定义一个可执行您所需操作的函数,然后使用apply方法: def my_func(grouped): all

我是熊猫队的新手,希望你在数据切片方面给予帮助

我有一个1000万行的重复转储。请参考这一行的示例,其中包含我希望执行的步骤

如图所示,来源“UK”的标准“ABC”列在Trg列中有两个重复条目。我需要以下方面的帮助:

  • 添加一个连接的新列“所有目标”,如图所示
  • 从上表中删除重复项,以便只显示没有重复项的唯一值,如图中的步骤2所示
  • 在此方面的任何帮助都将不胜感激。

    我希望:

    第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
    
    第2部分:

    df2 = df1.drop_duplicates(subset=["Criteria"])
    
    我只在前4行尝试过,所以请告诉我它是否有效。

    我希望这样做:

    第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
    
    第2部分:

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

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

    请在问题中添加样本数据和代码。请避免数据图像,没有人可以从图像中复制数据。请在问题中添加样本数据和代码。请避免数据图像,没有人可以从图像中复制数据。我很高兴!别忘了选择最好的答案,也别忘了投票,这样我就能赢得一些声誉。我很高兴!别忘了选择最好的答案,也别忘了投票,这样我才能赢得一些声誉。