合并/合并单列中的重复项,而不会丢失其他列中的数据

时间:2019-06-27 11:58:51

标签: python pandas

我有一个相当大的Excel文件(5000行),其中包含一些公司信息。许多公司被添加了多次,但是它们都缺少一些列。我的目标是合并所有重复的公司,而不会丢失其他任何列中的信息。

示例:

enter image description here

我的搜索结果仅显示了如何合并两个不同的数据框,以及在不存在重叠风险的情况下如何合并单元格。

https://www.datacamp.com/community/tutorials/joining-dataframes-pandas

最接近的答案可能在this one中。

但是,确实会将不同的值合并到单个单元格中,而不是将它们拆分成多个不同的单元格。

1 个答案:

答案 0 :(得分:1)

您可以将groupby()与agg选项一起使用,以指定要对每列进行的操作。这可能是这样的:

df = pd.DataFrame({'Company' : ['Apple', 'Google', 'Apple', 'Microsoft'],
                   'Score' : [7, np.nan, 6, 8], 
                   'Employees' : [8888, 55000, np.nan, np.nan],
                   'Description': ['Tasty', np.nan, "Likes trees", "Doesn't like apples"]})

df.groupby('Company').agg({'Score':  max, 'Employees': max, 'Description':list})

输出:

           Score  Employees            Description
Company                                           
Apple        7.0     8888.0   [Tasty, Likes trees]
Google       NaN    55000.0                  [nan]
Microsoft    8.0        NaN  [Doesn't like apples]