聚合/删除字符串在行与列表,同时保留其他值(python)?



我有一个具有唯一GRID ID和几个保护区名称的数据框。我需要保持一些pa在几个网格单元内重叠的事实,并通过使用groupby实现了这一点。然而,我有几个名字重复,我想摆脱这些重复的值,只留下唯一的值。

我的df看起来像这样:

GRID ID | Name
AB-66   | ['Laguna di Venezia', 'Laguna medio-inferiore di Venezia', 'Laguna medio-inferiore di Venezia']
AB-67   | ['Laguna di Venezia', 'Laguna medio-inferiore di Venezia', 'Laguna medio-inferiore di Venezia']
AC-56   | ['Laguna di Venezia', 'Laguna medio-inferiore di Venezia']
AC-57   | ['Laguna di Venezia', 'Laguna medio-inferiore di Venezia', 'Laguna medio-inferiore di Venezia']
AC-58   | ['Laguna di Venezia', 'Laguna medio-inferiore di Venezia', 'Laguna medio-inferiore di Venezia']
AC-59   | ['Laguna di Venezia', 'Laguna di Venezia: Valle Averto', 'Laguna medio-inferiore di Venezia', 'Laguna medio-inferiore di Venezia']
AC-65   | ['Laguna di Venezia', 'Laguna medio-inferiore di Venezia', 'Laguna medio-inferiore di Venezia']
AC-66   | ['Laguna di Venezia', 'Laguna medio-inferiore di Venezia', 'Laguna medio-inferiore di Venezia']

你可以看到,例如Laguna medium -inferiore di Venezia在一行中经常重复-我如何删除重复的实例并只保留一个重复的名称?

如果顺序不重要,则转换为set(最终再转换为list):

df['Name'] = df['Name'].apply(lambda x: list(set(x)))

如果您不一定需要list作为容器:

df['Name'] = df['Name'].apply(set)

相关内容

最新更新