Python 将连续重复的字符替换为单列操作-`pandas.DataFrame`
如何删除字符串中的重复字符并只保留其中一个 e、 g:- 到 我刚刚读过这样的数据:Python 将连续重复的字符替换为单列操作-`pandas.DataFrame`,python,pandas,Python,Pandas,如何删除字符串中的重复字符并只保留其中一个 e、 g:- 到 我刚刚读过这样的数据: dataFrame = pd.read_excel("C:\\Users\\Bertug\\Desktop\\example.xlsx") 名字 0贝图格格米 输入从.xlsx文件读取。我已经尝试过拆分和剥离功能,但它们并没有像预期的那样工作 我怎样才能解决这个问题 python代码: if __name__ == '__main__': s = 'Bertuggggg Mete' if le
dataFrame = pd.read_excel("C:\\Users\\Bertug\\Desktop\\example.xlsx")
名字
0贝图格格米
输入从.xlsx文件读取。我已经尝试过拆分和剥离功能,但它们并没有像预期的那样工作
我怎样才能解决这个问题 python代码:
if __name__ == '__main__':
s = 'Bertuggggg Mete'
if len(s) == 0:
print('wrong!')
exit()
r = s[0]
for c in s:
if r[len(r) - 1] != c:
r += c
print(r)
java代码:
public class Test {
public static void main(String[] args) {
String s = "Bertuggggg Mete";
StringBuffer sb = new StringBuffer();
for (int i = 0, j = s.length(); i < j; i++) {
if (i == 0) {
sb.append(s.charAt(0));
}
if (s.charAt(i) != sb.charAt(sb.length() - 1)) {
sb.append(s.charAt(i));
}
}
System.out.println(sb);
}
}
公共类测试{
公共静态void main(字符串[]args){
字符串s=“bertugggg Mete”;
StringBuffer sb=新的StringBuffer();
对于(int i=0,j=s.length();i
查看以下内容:
将column\u name
替换为要应用替换的任何列名
min_threshold_rep = 2
column_name = 'Name'
dataframe[column_name]= dataframe[column_name].str.replace(r'(\w)\1{%d,}'%(min_threshold_rep-1), r'\1')
注意:这将用一个字符替换每个
min\u threshold\u rep
连续字符数。查看此处:检查此帖子是否有用:我已经查看了,但它只包含两个字符。我的问题是关于@Bertug的两个以上可能的副本,您可以使用stackoverflow.com/questions/18799036/中的idea。另外,来自stackoverflow.com/questions/9841303:如果您查看解决方案中的正则表达式,您将得到答案。提示:您需要使用\1
而不是\1\1
您刚刚为Python问题提供了java解决方案:我认为是PSo。现在您可以将这段代码移到gist中的某个地方,以供将来参考,并从这里删除:Pwith python 3.5?它正在工作,非常感谢。你能在这里解释一下(r'(\w)\1*',r'\1')吗。如何解决此问题:)\1
表示在此处字符串中找到的第一个组-(\w)
,它将多个连续实例替换为一个。只需转到官方文档:
public class Test {
public static void main(String[] args) {
String s = "Bertuggggg Mete";
StringBuffer sb = new StringBuffer();
for (int i = 0, j = s.length(); i < j; i++) {
if (i == 0) {
sb.append(s.charAt(0));
}
if (s.charAt(i) != sb.charAt(sb.length() - 1)) {
sb.append(s.charAt(i));
}
}
System.out.println(sb);
}
}
min_threshold_rep = 2
column_name = 'Name'
dataframe[column_name]= dataframe[column_name].str.replace(r'(\w)\1{%d,}'%(min_threshold_rep-1), r'\1')