Xóa các ký tự đặc biệt trong khung dữ liệu Python
Mục tiêu là thay thế ký tự gạch dưới (“_”) bằng dấu gạch ngang (“. ”) dưới cột ‘first_set‘ Show Để đạt được mục tiêu này, bạn cần thêm cú pháp sau vào mã df['first_set'] = df['first_set'].str.replace('_','|') Vì vậy, mã Python hoàn chỉnh để thực hiện thay thế như sau import pandas as pd colors = {'first_set': ['aa_bb','cc_dd','ee_ff','gg_hh'], 'second_set': ['ii_jj','kk_ll','mm_nn','oo_pp'] } df = pd.DataFrame(colors, columns= ['first_set','second_set']) df['first_set'] = df['first_set'].str.replace('_','|') print (df) Như bạn có thể thấy, ký tự gạch dưới đã được thay thế bằng ký tự ống trong cột 'first_set'
Thay thế một ký tự cụ thể trong Toàn bộ khung dữ liệuNếu bạn muốn thay thế một ký tự cụ thể trong toàn bộ DataFrame thì sao? Ví dụ: hãy thay thế ký tự gạch dưới bằng ký tự ống trong toàn bộ DataFrame Trong trường hợp đó, bạn sẽ cần áp dụng cú pháp sau import pandas as pd colors = {'first_set': ['aa_bb','cc_dd','ee_ff','gg_hh'], 'second_set': ['ii_jj','kk_ll','mm_nn','oo_pp'] } df = pd.DataFrame(colors, columns= ['first_set','second_set']) df = df.replace('_','|', regex=True) print (df) Bây giờ, bạn sẽ thấy rằng ký tự gạch dưới đã được thay thế bằng ký tự ống trong toàn bộ Khung dữ liệu (trong cả cột 'first_set' và 'second_set')
Thay thế một dãy ký tựGiả sử bạn muốn thay thế một chuỗi ký tự trong Pandas DataFrame Chẳng hạn, giả sử bạn đã tạo một DataFrame mới nơi bạn muốn thay thế chuỗi “_xyz_” bằng hai đường ống “. ” Đây là cú pháp để tạo DataFrame mới import pandas as pd colors = {'first_set': ['aa_xyz_bb','cc_xyz_dd','ee_xyz_ff','gg_xyz_hh'], 'second_set': ['ii_xyz_jj','kk_xyz_ll','mm_xyz_nn','oo_xyz_pp'] } df = pd.DataFrame(colors, columns= ['first_set','second_set']) print (df) Và đây là cách DataFrame mới trông như thế nào df = df.replace('old character','new character', regex=True)0 Sau đó, bạn có thể sử dụng đoạn mã sau để thay thế chuỗi “_xyz_” bằng “. ” dưới cột ‘first_set’ Có thể sử dụng hàm Spark SQL Đoạn mã này thay thế các ký tự đặc biệt bằng chuỗi rỗng from pyspark.sql import SparkSession from pyspark.sql.functions import regexp_replace app_name = "PySpark regex_replace Example" master = "local" spark = SparkSession.builder \ .appName(app_name) \ .master(master) \ .getOrCreate() spark.sparkContext.setLogLevel("WARN") data = [[1, 'ABCDEDF!@#$%%^123456qwerty'], [2, 'ABCDE!!!'] ] df = spark.createDataFrame(data, ['id', 'str']) df.show(truncate=False) df = df.select("id", regexp_replace("str", "[^0-9a-zA-Z_\-]+", "" ).alias('replaced_str')) df.show() content_copySao chép mã fork_right Ngã ba Hãy để chúng tôi xem cách xóa các ký tự đặc biệt như #, @, &, v.v. từ tên cột trong khung dữ liệu pandas. Ở đâ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 con trăn
đầu ra Ở đây, chúng tôi đã xóa 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 có 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 gấu trúc con trăn
Làm cách nào để xóa tất cả các ký tự đặc biệt khỏi chuỗi trong Python?Hai trong số những cách phổ biến nhất để xóa ký tự khỏi chuỗi trong Python là. . sử dụng phương thức chuỗi thay thế () sử dụng phương thức chuỗi translate() Làm cách nào để xóa số và ký tự đặc biệt khỏi chuỗi trong Python?Sử dụng 're. . “[^A-Za-z0–9]”. Điều này sẽ khớp với tất cả các ký tự ngoại trừ bảng chữ cái và số. . Tất cả các ký tự phù hợ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ố đều bị xóa |