Hướng dẫn remove special characters from dataframe python - xóa các ký tự đặc biệt khỏi dataframe python

Này tôi đã thấy liên kết đó nhưng không nơi nào họ đã sử dụng mô -đun re đó là lý do tại sao tôi đã đăng ở đây. Hy vọng bạn hiểu và loại bỏ bản sao.

Đây là liên kết. Tôi muốn sử dụng mô -đun re.

Table:

A    B    C    D
1    Q!   W@   2
2    1$   E%   3
3    S2#  D!   4

Ở đây tôi muốn loại bỏ các ký tự đặc biệt khỏi

A    B    C    D   E   F
1    Q!   W@   2   Q   W
2    1$   E%   3   1   E
3    S2#  D!   4   S2  D
0
A    B    C    D   E   F
1    Q!   W@   2   Q   W
2    1$   E%   3   1   E
3    S2#  D!   4   S2  D
1 và
A    B    C    D   E   F
1    Q!   W@   2   Q   W
2    1$   E%   3   1   E
3    S2#  D!   4   S2  D
2. Tôi đã sử dụng
A    B    C    D   E   F
1    Q!   W@   2   Q   W
2    1$   E%   3   1   E
3    S2#  D!   4   S2  D
3 nhưng tôi muốn làm điều đó bằng cách sử dụng re nếu có thể nhưng tôi đang gặp lỗi.

Output:

A    B    C    D   E   F
1    Q!   W@   2   Q   W
2    1$   E%   3   1   E
3    S2#  D!   4   S2  D

Mã của tôi:

df['E'] = df['B'].str.translate[None, ",!.; -@!%^&*]["]

Nó chỉ hoạt động nếu tôi biết những nhân vật đặc biệt là gì.

Nhưng tôi muốn sử dụng re, đó sẽ là cách tốt nhất.

import re
#re.sub[r'\W+', '', your_string]
df['E'] = re.sub[r'\W+', '', df['B'].str]

Ở đây tôi đang gặp lỗi:

TypeError: expected string or buffer

Vì vậy, làm thế nào tôi nên vượt qua giá trị để có được đầu ra chính xác.

Tất cả các ký tự ngoại trừ bảng chữ cái và số được xóa ..

df['my_column'] = df['my_column'].str.replace['\W', '', regex=True]

Làm cách nào để loại bỏ nhiều ký tự đặc biệt khỏi chuỗi trong Python?my_column that are not letters or numbers.

Xóa ký hiệu khỏi chuỗi bằng cách sử dụng thay thế [] người ta có thể sử dụng str.replace [] bên trong một vòng lặp để kiểm tra BAD_CHAR và sau đó thay thế nó bằng chuỗi trống do đó loại bỏ nó.

Làm cách nào để loại bỏ dấu câu từ DataFrame trong Python?

import pandas as pd

#create DataFrame
df = pd.DataFrame[{'team' : ['Mavs$', 'Nets', 'Kings!!', 'Spurs%', '&Heat&'],
                   'points' : [12, 15, 22, 29, 24]}]

#view DataFrame
print[df]

      team  points
0    Mavs$      12
1     Nets      15
2  Kings!!      22
3   Spurs%      29
4   &Heat&      24

Làm thế nào để loại bỏ dấu câu từ gấu trúc.team column.

và str.translate [].

#remove special characters from team column
df['team'] = df['team'].str.replace['\W', '', regex=True]

#view updated DataFrame
print[df]

    team  points
0   Mavs      12
1   Nets      15
2  Kings      22
3  Spurs      29
4   Heat      24

Lưu ý rằng tất cả các ký tự đặc biệt đã bị xóa khỏi các giá trị trong cột nhóm.team column.

Lưu ý: Regex \ W được sử dụng để tìm tất cả các ký tự không từ, tức là các ký tự không theo thứ tự bảng chữ cái hoặc số.: The regex \W is used to find all non-word characters, i.e. characters which are not alphabetical or numerical.

Trong ví dụ này, chúng tôi đã thay thế từng ký tự không từ bằng một giá trị trống tương đương với việc loại bỏ các ký tự không từ.

Tài nguyên bổ sung

Các hướng dẫn sau đây giải thích cách thực hiện các nhiệm vụ phổ biến khác trong gấu trúc:

Cách thay thế các giá trị NAN bằng các số không trong gấu trúc Cách thay thế các chuỗi trống bằng NAN trong gấu trúc Cách thay thế các giá trị trong cột dựa trên điều kiện trong gấu trúc
How to Replace Empty Strings with NaN in Pandas
How to Replace Values in Column Based on Condition in Pandas

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc

    Bàn luậnremove a special character from column names

    Hãy cho chúng tôi xem cách xóa các ký tự đặc biệt như #, @, &, v.v. khỏi tên cột trong khung dữ liệu Pandas. & nbsp; Ở đây chúng tôi sẽ sử dụng chức năng thay thế để loại bỏ ký tự đặc biệt.

    Ví dụ 1: Xóa một ký tự đặc biệt khỏi tên cột

    Python

    df['E'] = df['B'].str.translate[None, ",!.; -@!%^&*]["]
    
    9
    import re
    #re.sub[r'\W+', '', your_string]
    df['E'] = re.sub[r'\W+', '', df['B'].str]
    
    0
    df['E'] = df['B'].str.translate[None, ",!.; -@!%^&*]["]
    
    4
    import re
    #re.sub[r'\W+', '', your_string]
    df['E'] = re.sub[r'\W+', '', df['B'].str]
    
    2
    import re
    #re.sub[r'\W+', '', your_string]
    df['E'] = re.sub[r'\W+', '', df['B'].str]
    
    3

    import re
    #re.sub[r'\W+', '', your_string]
    df['E'] = re.sub[r'\W+', '', df['B'].str]
    
    4
    import re
    #re.sub[r'\W+', '', your_string]
    df['E'] = re.sub[r'\W+', '', df['B'].str]
    
    5
    df['E'] = df['B'].str.translate[None, ",!.; -@!%^&*]["]
    
    2
    import re
    #re.sub[r'\W+', '', your_string]
    df['E'] = re.sub[r'\W+', '', df['B'].str]
    
    7
    df['E'] = df['B'].str.translate[None, ",!.; -@!%^&*]["]
    
    4
    import re
    #re.sub[r'\W+', '', your_string]
    df['E'] = re.sub[r'\W+', '', df['B'].str]
    
    9
    df['E'] = df['B'].str.translate[None, ",!.; -@!%^&*]["]
    
    4
    TypeError: expected string or buffer
    
    1
    df['E'] = df['B'].str.translate[None, ",!.; -@!%^&*]["]
    
    8

    TypeError: expected string or buffer
    
    3
    import re
    #re.sub[r'\W+', '', your_string]
    df['E'] = re.sub[r'\W+', '', df['B'].str]
    
    7
    df['E'] = df['B'].str.translate[None, ",!.; -@!%^&*]["]
    
    4
    import re
    #re.sub[r'\W+', '', your_string]
    df['E'] = re.sub[r'\W+', '', df['B'].str]
    
    9
    import re
    #re.sub[r'\W+', '', your_string]
    df['E'] = re.sub[r'\W+', '', df['B'].str]
    
    3

    Các

    import pandas as pd
    
    #create DataFrame
    df = pd.DataFrame[{'team' : ['Mavs$', 'Nets', 'Kings!!', 'Spurs%', '&Heat&'],
                       'points' : [12, 15, 22, 29, 24]}]
    
    #view DataFrame
    print[df]
    
          team  points
    0    Mavs$      12
    1     Nets      15
    2  Kings!!      22
    3   Spurs%      29
    4   &Heat&      24
    1
    A    B    C    D   E   F
    1    Q!   W@   2   Q   W
    2    1$   E%   3   1   E
    3    S2#  D!   4   S2  D
    
    9
    import pandas as pd
    
    #create DataFrame
    df = pd.DataFrame[{'team' : ['Mavs$', 'Nets', 'Kings!!', 'Spurs%', '&Heat&'],
                       'points' : [12, 15, 22, 29, 24]}]
    
    #view DataFrame
    print[df]
    
          team  points
    0    Mavs$      12
    1     Nets      15
    2  Kings!!      22
    3   Spurs%      29
    4   &Heat&      24
    3

    import pandas as pd
    
    #create DataFrame
    df = pd.DataFrame[{'team' : ['Mavs$', 'Nets', 'Kings!!', 'Spurs%', '&Heat&'],
                       'points' : [12, 15, 22, 29, 24]}]
    
    #view DataFrame
    print[df]
    
          team  points
    0    Mavs$      12
    1     Nets      15
    2  Kings!!      22
    3   Spurs%      29
    4   &Heat&      24
    4
    import pandas as pd
    
    #create DataFrame
    df = pd.DataFrame[{'team' : ['Mavs$', 'Nets', 'Kings!!', 'Spurs%', '&Heat&'],
                       'points' : [12, 15, 22, 29, 24]}]
    
    #view DataFrame
    print[df]
    
          team  points
    0    Mavs$      12
    1     Nets      15
    2  Kings!!      22
    3   Spurs%      29
    4   &Heat&      24
    5

    import pandas as pd
    
    #create DataFrame
    df = pd.DataFrame[{'team' : ['Mavs$', 'Nets', 'Kings!!', 'Spurs%', '&Heat&'],
                       'points' : [12, 15, 22, 29, 24]}]
    
    #view DataFrame
    print[df]
    
          team  points
    0    Mavs$      12
    1     Nets      15
    2  Kings!!      22
    3   Spurs%      29
    4   &Heat&      24
    6
    A    B    C    D   E   F
    1    Q!   W@   2   Q   W
    2    1$   E%   3   1   E
    3    S2#  D!   4   S2  D
    
    9
    import pandas as pd
    
    #create DataFrame
    df = pd.DataFrame[{'team' : ['Mavs$', 'Nets', 'Kings!!', 'Spurs%', '&Heat&'],
                       'points' : [12, 15, 22, 29, 24]}]
    
    #view DataFrame
    print[df]
    
          team  points
    0    Mavs$      12
    1     Nets      15
    2  Kings!!      22
    3   Spurs%      29
    4   &Heat&      24
    8
    import pandas as pd
    
    #create DataFrame
    df = pd.DataFrame[{'team' : ['Mavs$', 'Nets', 'Kings!!', 'Spurs%', '&Heat&'],
                       'points' : [12, 15, 22, 29, 24]}]
    
    #view DataFrame
    print[df]
    
          team  points
    0    Mavs$      12
    1     Nets      15
    2  Kings!!      22
    3   Spurs%      29
    4   &Heat&      24
    9
    #remove special characters from team column
    df['team'] = df['team'].str.replace['\W', '', regex=True]
    
    #view updated DataFrame
    print[df]
    
        team  points
    0   Mavs      12
    1   Nets      15
    2  Kings      22
    3  Spurs      29
    4   Heat      24
    0
    #remove special characters from team column
    df['team'] = df['team'].str.replace['\W', '', regex=True]
    
    #view updated DataFrame
    print[df]
    
        team  points
    0   Mavs      12
    1   Nets      15
    2  Kings      22
    3  Spurs      29
    4   Heat      24
    1
    #remove special characters from team column
    df['team'] = df['team'].str.replace['\W', '', regex=True]
    
    #view updated DataFrame
    print[df]
    
        team  points
    0   Mavs      12
    1   Nets      15
    2  Kings      22
    3  Spurs      29
    4   Heat      24
    2

    import pandas as pd
    
    #create DataFrame
    df = pd.DataFrame[{'team' : ['Mavs$', 'Nets', 'Kings!!', 'Spurs%', '&Heat&'],
                       'points' : [12, 15, 22, 29, 24]}]
    
    #view DataFrame
    print[df]
    
          team  points
    0    Mavs$      12
    1     Nets      15
    2  Kings!!      22
    3   Spurs%      29
    4   &Heat&      24
    4
    #remove special characters from team column
    df['team'] = df['team'].str.replace['\W', '', regex=True]
    
    #view updated DataFrame
    print[df]
    
        team  points
    0   Mavs      12
    1   Nets      15
    2  Kings      22
    3  Spurs      29
    4   Heat      24
    4
    #remove special characters from team column
    df['team'] = df['team'].str.replace['\W', '', regex=True]
    
    #view updated DataFrame
    print[df]
    
        team  points
    0   Mavs      12
    1   Nets      15
    2  Kings      22
    3  Spurs      29
    4   Heat      24
    5
    #remove special characters from team column
    df['team'] = df['team'].str.replace['\W', '', regex=True]
    
    #view updated DataFrame
    print[df]
    
        team  points
    0   Mavs      12
    1   Nets      15
    2  Kings      22
    3  Spurs      29
    4   Heat      24
    6

    Output:

    Ở đây, chúng tôi đã loại bỏ thành công một ký tự đặc biệt khỏi tên cột. Bây giờ chúng tôi sẽ sử dụng một danh sách với chức năng thay thế để xóa nhiều ký tự đặc biệt khỏi tên cột của chúng tôi.

    Ví dụ 2: Xóa nhiều ký tự đặc biệt khỏi khung dữ liệu Pandas remove multiple special characters from the pandas data frame

    Python

    A    B    C    D   E   F
    1    Q!   W@   2   Q   W
    2    1$   E%   3   1   E
    3    S2#  D!   4   S2  D
    
    6
    A    B    C    D   E   F
    1    Q!   W@   2   Q   W
    2    1$   E%   3   1   E
    3    S2#  D!   4   S2  D
    
    7

    A    B    C    D   E   F
    1    Q!   W@   2   Q   W
    2    1$   E%   3   1   E
    3    S2#  D!   4   S2  D
    
    8
    A    B    C    D   E   F
    1    Q!   W@   2   Q   W
    2    1$   E%   3   1   E
    3    S2#  D!   4   S2  D
    
    9
    df['E'] = df['B'].str.translate[None, ",!.; -@!%^&*]["]
    
    0
    df['E'] = df['B'].str.translate[None, ",!.; -@!%^&*]["]
    
    1
    df['E'] = df['B'].str.translate[None, ",!.; -@!%^&*]["]
    
    2
    df['E'] = df['B'].str.translate[None, ",!.; -@!%^&*]["]
    
    3
    df['E'] = df['B'].str.translate[None, ",!.; -@!%^&*]["]
    
    4
    df['E'] = df['B'].str.translate[None, ",!.; -@!%^&*]["]
    
    5
    df['E'] = df['B'].str.translate[None, ",!.; -@!%^&*]["]
    
    4
    df['E'] = df['B'].str.translate[None, ",!.; -@!%^&*]["]
    
    7re9

    re0

    import re
    #re.sub[r'\W+', '', your_string]
    df['E'] = re.sub[r'\W+', '', df['B'].str]
    
    0
    df['E'] = df['B'].str.translate[None, ",!.; -@!%^&*]["]
    
    4
    import re
    #re.sub[r'\W+', '', your_string]
    df['E'] = re.sub[r'\W+', '', df['B'].str]
    
    2re4

    import re
    #re.sub[r'\W+', '', your_string]
    df['E'] = re.sub[r'\W+', '', df['B'].str]
    
    4re6
    df['E'] = df['B'].str.translate[None, ",!.; -@!%^&*]["]
    
    2
    import re
    #re.sub[r'\W+', '', your_string]
    df['E'] = re.sub[r'\W+', '', df['B'].str]
    
    7
    df['E'] = df['B'].str.translate[None, ",!.; -@!%^&*]["]
    
    4
    import re
    #re.sub[r'\W+', '', your_string]
    df['E'] = re.sub[r'\W+', '', df['B'].str]
    
    9
    df['E'] = df['B'].str.translate[None, ",!.; -@!%^&*]["]
    
    4
    TypeError: expected string or buffer
    
    1re9

    A    B    C    D   E   F
    1    Q!   W@   2   Q   W
    2    1$   E%   3   1   E
    3    S2#  D!   4   S2  D
    
    04
    import re
    #re.sub[r'\W+', '', your_string]
    df['E'] = re.sub[r'\W+', '', df['B'].str]
    
    7
    df['E'] = df['B'].str.translate[None, ",!.; -@!%^&*]["]
    
    4
    import re
    #re.sub[r'\W+', '', your_string]
    df['E'] = re.sub[r'\W+', '', df['B'].str]
    
    9
    import re
    #re.sub[r'\W+', '', your_string]
    df['E'] = re.sub[r'\W+', '', df['B'].str]
    
    3

    import re
    #re.sub[r'\W+', '', your_string]
    df['E'] = re.sub[r'\W+', '', df['B'].str]
    
    4
    A    B    C    D   E   F
    1    Q!   W@   2   Q   W
    2    1$   E%   3   1   E
    3    S2#  D!   4   S2  D
    
    10
    df['E'] = df['B'].str.translate[None, ",!.; -@!%^&*]["]
    
    22____51
    df['E'] = df['B'].str.translate[None, ",!.; -@!%^&*]["]
    
    8
    df['my_column'] = df['my_column'].str.replace['\W', '', regex=True]
    
    3
    df['E'] = df['B'].str.translate[None, ",!.; -@!%^&*]["]
    
    8
    df['my_column'] = df['my_column'].str.replace['\W', '', regex=True]
    
    5
    df['E'] = df['B'].str.translate[None, ",!.; -@!%^&*]["]
    
    8
    df['my_column'] = df['my_column'].str.replace['\W', '', regex=True]
    
    7
    df['E'] = df['B'].str.translate[None, ",!.; -@!%^&*]["]
    
    8
    df['my_column'] = df['my_column'].str.replace['\W', '', regex=True]
    
    9__121

    A    B    C    D   E   F
    1    Q!   W@   2   Q   W
    2    1$   E%   3   1   E
    3    S2#  D!   4   S2  D
    
    22
    A    B    C    D   E   F
    1    Q!   W@   2   Q   W
    2    1$   E%   3   1   E
    3    S2#  D!   4   S2  D
    
    9
    import pandas as pd
    
    #create DataFrame
    df = pd.DataFrame[{'team' : ['Mavs$', 'Nets', 'Kings!!', 'Spurs%', '&Heat&'],
                       'points' : [12, 15, 22, 29, 24]}]
    
    #view DataFrame
    print[df]
    
          team  points
    0    Mavs$      12
    1     Nets      15
    2  Kings!!      22
    3   Spurs%      29
    4   &Heat&      24
    3

    import pandas as pd
    
    #create DataFrame
    df = pd.DataFrame[{'team' : ['Mavs$', 'Nets', 'Kings!!', 'Spurs%', '&Heat&'],
                       'points' : [12, 15, 22, 29, 24]}]
    
    #view DataFrame
    print[df]
    
          team  points
    0    Mavs$      12
    1     Nets      15
    2  Kings!!      22
    3   Spurs%      29
    4   &Heat&      24
    4
    import pandas as pd
    
    #create DataFrame
    df = pd.DataFrame[{'team' : ['Mavs$', 'Nets', 'Kings!!', 'Spurs%', '&Heat&'],
                       'points' : [12, 15, 22, 29, 24]}]
    
    #view DataFrame
    print[df]
    
          team  points
    0    Mavs$      12
    1     Nets      15
    2  Kings!!      22
    3   Spurs%      29
    4   &Heat&      24
    5

    A    B    C    D   E   F
    1    Q!   W@   2   Q   W
    2    1$   E%   3   1   E
    3    S2#  D!   4   S2  D
    
    27
    A    B    C    D   E   F
    1    Q!   W@   2   Q   W
    2    1$   E%   3   1   E
    3    S2#  D!   4   S2  D
    
    9
    import pandas as pd
    
    #create DataFrame
    df = pd.DataFrame[{'team' : ['Mavs$', 'Nets', 'Kings!!', 'Spurs%', '&Heat&'],
                       'points' : [12, 15, 22, 29, 24]}]
    
    #view DataFrame
    print[df]
    
          team  points
    0    Mavs$      12
    1     Nets      15
    2  Kings!!      22
    3   Spurs%      29
    4   &Heat&      24
    8
    import pandas as pd
    
    #create DataFrame
    df = pd.DataFrame[{'team' : ['Mavs$', 'Nets', 'Kings!!', 'Spurs%', '&Heat&'],
                       'points' : [12, 15, 22, 29, 24]}]
    
    #view DataFrame
    print[df]
    
          team  points
    0    Mavs$      12
    1     Nets      15
    2  Kings!!      22
    3   Spurs%      29
    4   &Heat&      24
    9
    #remove special characters from team column
    df['team'] = df['team'].str.replace['\W', '', regex=True]
    
    #view updated DataFrame
    print[df]
    
        team  points
    0   Mavs      12
    1   Nets      15
    2  Kings      22
    3  Spurs      29
    4   Heat      24
    0
    #remove special characters from team column
    df['team'] = df['team'].str.replace['\W', '', regex=True]
    
    #view updated DataFrame
    print[df]
    
        team  points
    0   Mavs      12
    1   Nets      15
    2  Kings      22
    3  Spurs      29
    4   Heat      24
    1
    A    B    C    D   E   F
    1    Q!   W@   2   Q   W
    2    1$   E%   3   1   E
    3    S2#  D!   4   S2  D
    
    33

    import pandas as pd
    
    #create DataFrame
    df = pd.DataFrame[{'team' : ['Mavs$', 'Nets', 'Kings!!', 'Spurs%', '&Heat&'],
                       'points' : [12, 15, 22, 29, 24]}]
    
    #view DataFrame
    print[df]
    
          team  points
    0    Mavs$      12
    1     Nets      15
    2  Kings!!      22
    3   Spurs%      29
    4   &Heat&      24
    4
    #remove special characters from team column
    df['team'] = df['team'].str.replace['\W', '', regex=True]
    
    #view updated DataFrame
    print[df]
    
        team  points
    0   Mavs      12
    1   Nets      15
    2  Kings      22
    3  Spurs      29
    4   Heat      24
    4
    #remove special characters from team column
    df['team'] = df['team'].str.replace['\W', '', regex=True]
    
    #view updated DataFrame
    print[df]
    
        team  points
    0   Mavs      12
    1   Nets      15
    2  Kings      22
    3  Spurs      29
    4   Heat      24
    5
    #remove special characters from team column
    df['team'] = df['team'].str.replace['\W', '', regex=True]
    
    #view updated DataFrame
    print[df]
    
        team  points
    0   Mavs      12
    1   Nets      15
    2  Kings      22
    3  Spurs      29
    4   Heat      24
    6

    Output:


    Làm cách nào để loại bỏ tất cả các ký tự đặc biệt khỏi một chuỗi trong Python?

    Sử dụng 're ...
    Mùi [^a-za-z0 ....
    Tất cả các ký tự được khớp sẽ được thay thế bằng một chuỗi trống ..
    Tất cả các ký tự ngoại trừ bảng chữ cái và số được xóa ..

    Làm cách nào để loại bỏ nhiều ký tự đặc biệt khỏi chuỗi trong Python?

    Xóa ký hiệu khỏi chuỗi bằng cách sử dụng thay thế [] người ta có thể sử dụng str.replace [] bên trong một vòng lặp để kiểm tra BAD_CHAR và sau đó thay thế nó bằng chuỗi trống do đó loại bỏ nó.use str. replace[] inside a loop to check for a bad_char and then replace it with the empty string hence removing it.

    Làm cách nào để loại bỏ dấu câu từ DataFrame trong Python?

    Làm thế nào để loại bỏ dấu câu từ gấu trúc..
    str.replace[].
    regex.sub[].
    và str.translate [].

    Làm thế nào để bạn thay thế một ký tự đặc biệt trong khung dữ liệu pyspark?

    Bằng cách sử dụng chức năng pyspark sql regexp_replace [], bạn có thể thay thế giá trị cột bằng một chuỗi cho chuỗi/chuỗi con khác.regexp_replace [] sử dụng java regex để khớp, nếu regex không khớp, nó sẽ trả về một chuỗi trống, ví dụ dưới đây thay thế giá trị RD tên đường phố bằng chuỗi đường trên cột địa chỉ. you can replace a column value with a string for another string/substring. regexp_replace[] uses Java regex for matching, if the regex does not match it returns an empty string, the below example replace the street name Rd value with Road string on address column.

    Bài Viết Liên Quan

    Chủ Đề