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‘
Để đạ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'
first_set second_set
0 aa|bb ii_jj
1 cc|dd kk_ll
2 ee|ff mm_nn
3 gg|hh oo_pp
Thay thế một ký tự cụ thể trong Toàn bộ khung dữ liệu
Nế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']
first_set second_set
0 aa|bb ii|jj
1 cc|dd kk|ll
2 ee|ff mm|nn
3 gg|hh oo|pp
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 regex_replace
để xóa các ký tự đặc biệt khỏi cột chuỗi trong Spark DataFrame. Phụ thuộc vào định nghĩa của các ký tự đặc biệt, các biểu thức chính quy có thể khác nhau. Ví dụ: có thể sử dụng [^0-9a-zA-Z_\-]+
để khớp các ký tự không phải là chữ và số hoặc không phải là dấu gạch nối [-] hoặc dấu gạch dưới [_];
Đ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
# import pandas
import
pandas as pd
# create data frame
Data
=
________18____19_______: [
import
0_______12_______1import
2import
1import
4import
1
import
6_______12_______7import
1import
9pandas as pd
0
pandas as pd
1
pandas as pd
2_______13_______3: [
___pandas as pd
5import
1pandas as pd
7import
1pandas as pd
9_______12_______1
1pandas as pd
5import
1pandas as pd
7pandas as pd
0
pandas as pd
1
pandas as pd
2_______14_______8: [
15_______0import
1# create data frame
2import
1# create data frame
4import
1# create data frame
6import
1# create data frame
8# create data frame
9
Data
1______17_______ Data
3
Data
5
Data
6Data
7
Data
9
=
0_______17_______ =
2=
3=
4=
5=
6
=
8
Data
6{
0{
1{
2
đầ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
# import pandas
import
pandas as pd
# create data frame
Data
=
________18____19_______: [
import
0_______12_______1import
2import
1import
4'Name#'
8
'Name#'
9import
7import
1import
9: [
3
pandas as pd
1
pandas as pd
2_______20_______6 : [
pandas as pd
5import
1pandas as pd
7import
1pandas as pd
9'Name#'
8
import
04pandas as pd
5import
1pandas as pd
7pandas as pd
0
pandas as pd
1
pandas as pd
2_______12_______11 : [
15_______0import
1# create data frame
2import
1# create data frame
4import
1# create data frame
6import
1# create data frame
8import
22