将连续重复的字符替换为一个 - 列式操作 - “pandas.DataFrame”

时间:2017-03-30 06:34:11

标签: python pandas

如何删除字符串中的重复字符,只留下其中一个字符。

e.g: -

"Bertuggggg Mete" 

"Bertug Mete"

我刚读过这样的数据:

dataFrame = pd.read_excel("C:\\Users\\Bertug\\Desktop\\example.xlsx")

名称 0 Bertuggggg Mete

从.xlsx文件中读取输入。我尝试过分割和剥离功能,但它们的工作似乎没有按预期工作。

我如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

检查出来:

column_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_threshold_rep个连续字符。

答案 1 :(得分:0)

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);
}

}