df=pd.DataFrame({'a':['重庆市重庆花园','北京市市教育中心']})
如何删除列'a'中行的重复字符,并将其设为
['重庆市花园','北京市教育中心']
而不是
['重庆市重庆花园','北京市市教育中心']
谢谢!
答案 0 :(得分:3)
OrderedDict
您可以使用OrderedDict
from collections import OrderedDict
df['a'] = [''.join(OrderedDict.fromkeys(v)) for v in df['a']]
df
a
0 重庆市花园
1 北京市教育中心
在python-3.6 +上,你可以使用标准字典 -
df['a'] = [''.join(dict.fromkeys(v)) for v in df['a']]
str.extractall
+ groupby
+ drop_duplicates
这是一个丑陋的选择 -
(df.a.str.extractall('(.)')[0]
.groupby(level=0)
.apply(pd.Series.drop_duplicates)
.groupby(level=0)
.agg(''.join)
)
0 重庆市花园
1 北京市教育中心
Name: 0, dtype: object
答案 1 :(得分:2)
您可以使用
Sub removepdfword()
Dim str As String
Dim row As Long
row = 1
str = Sheet1.Range("A" & CStr(row))
Do While Sheet1.Range("A" & CStr(row)) <> ""
If Right(str, 4) = ".pdf" Then
str = Replace(str, ".pdf", Left(str, Len(str) - 4))
'str = Left(str, Len(str) - 4)
MsgBox str
Else
End If
row = row + 1
Loop
End Sub