首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除熊猫中的重复汉字

删除熊猫中的重复汉字
EN

Stack Overflow用户
提问于 2018-05-15 08:28:42
回答 2查看 267关注 0票数 4
代码语言:javascript
复制
df=pd.DataFrame({'a':['重庆市重庆花园','北京市市教育中心']})

如何删除列'a‘中行的重复字符,并将其设置为

代码语言:javascript
复制
['重庆市花园','北京市教育中心']

而不是

代码语言:javascript
复制
['重庆市重庆花园','北京市市教育中心']

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2018-05-15 08:32:07

OrderedDict

您可以使用OrderedDict删除重复项而不会丢失顺序

代码语言:javascript
复制
from collections import OrderedDict    
df['a'] = [''.join(OrderedDict.fromkeys(v)) for v in df['a']]
df
         a
0    重庆市花园
1  北京市教育中心

在python-3.6+上,您可以只使用标准字典-

代码语言:javascript
复制
df['a'] = [''.join(dict.fromkeys(v)) for v in df['a']]

str.extractall + groupby + drop_duplicates

这是另一个丑陋的选择-

代码语言:javascript
复制
(df.a.str.extractall('(.)')[0]
   .groupby(level=0)
   .apply(pd.Series.drop_duplicates)
   .groupby(level=0)
   .agg(''.join)
)

0      重庆市花园
1    北京市教育中心
Name: 0, dtype: object
票数 3
EN

Stack Overflow用户

发布于 2018-05-15 09:29:13

您可以使用

代码语言:javascript
复制
df.a.apply(list).apply(lambda x : ''.join(sorted(set(x), key=x.index)))
Out[169]: 
0      重庆市花园
1    北京市教育中心
Name: a, dtype: object
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50340761

复制
相关文章

相似问题

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