【发布时间】:2020-05-05 22:23:41
【问题描述】:
下面是 df 列中唯一值的列表
aa 2
aaa 10
aaaa 14
aaaaa 2
aaaaaa 1
aableasing 25
yy 1
yyy 6
überimexcars 1
üüberimexcars 1
üüüüüüüüü 2
目的是通过按名称分组来“清理”数据。
因此:
- aa = aaa = aaaa
- ü = üüü = üüüüüü
- ...
所需的输出如下所示
a 29
aableasing 25
y 7
überimexcars 2
üüüüüüüüü 2
我在想类似的东西
df['name'] = df['name'].astype(str).str.replace('aaa', 'a')
但是,我必须为每个字母都这样做。此外,这样做的效率并不高。
在这种情况下使用正则表达式可能是更好的选择?
感谢任何提供帮助的人!
【问题讨论】:
-
这是您正在寻找的东西link?
-
没错!谢谢,它正在做这项工作。 df['name'] = df['name'].astype(str).str.replace(r'([a-z])\1+', r'\1')