首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >熊猫是否有办法在一个系列中去掉重复的?

熊猫是否有办法在一个系列中去掉重复的?
EN

Stack Overflow用户
提问于 2019-06-05 19:36:15
回答 4查看 2.2K关注 0票数 3

我有一个数据帧,它在“标记”列中有一些用逗号分隔的重复标记,有没有办法从系列中删除重复的字符串。我想要400的作品有博物馆,喝酒,购物。

我不能在逗号上拆分&删除它们,因为在这个系列中有一些标签有类似的词,例如:博物馆、艺术博物馆、购物,因此分割和删除多个博物馆字符串会影响独特的“艺术博物馆”字符串。

期望输出

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-06-05 20:00:19

您可以创建一个从给定字符串中删除重复项的函数。然后将此函数应用于列标记。

代码语言:javascript
复制
def remove_dup(strng):
    '''
     Input a string and split them 
    '''
    return ', '.join(list(dict.fromkeys(strng.split(', '))))


df['Tags'] = df['Tags'].apply(lambda x: remove_dup(x))

演示:

代码语言:javascript
复制
import pandas as pd
my_dict = {'Tags':["Museum, Art Museum, Shopping, Museum",'Drink, Drink','Shop','Visit'],'Country':['USA','USA','USA', 'USA']}
df = pd.DataFrame(my_dict)
df['Tags'] = df['Tags'].apply(lambda x: remove_dup(x))
df

输出:

代码语言:javascript
复制
    Tags                          Country
0   Museum, Art Museum, Shopping    USA
1   Drink                           USA
2   Shop                            USA
3   Visit                           USA
票数 1
EN

Stack Overflow用户

发布于 2019-06-05 20:05:50

在用set()删除前导/尾随空格后,您可以使用逗号拆分并转换为set(),后者删除重复项。然后,您可以将其df.apply()到您的专栏中。

代码语言:javascript
复制
df['Tags']=df['Tags'].apply(lambda x: ', '.join(set([y.strip() for y in x.split(',')])))
票数 2
EN

Stack Overflow用户

发布于 2019-06-05 20:08:05

避免apply的一种方法

代码语言:javascript
复制
# in your code just s = df['Tags']
s = pd.Series(['','', 'Tour',
               'Outdoors, Beach, Sports', 
               'Museum, Drinking, Drinking, Shopping'])

(s.str.split(',\s+', expand=True)
      .stack()
      .reset_index()
      .drop_duplicates(['level_0',0])
      .groupby('level_0')[0]
      .agg(','.join)
)

输出:

代码语言:javascript
复制
level_0
0                            
1                            
2                        Tour
3       Outdoors,Beach,Sports
4    Museum,Drinking,Shopping
Name: 0, dtype: object
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56466917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档