Hướng dẫn remove space in string python dataframe - xóa không gian trong khung dữ liệu python chuỗi

Các phương thức chuỗi Python cực kỳ nhanh và có thể được sử dụng trong danh sách hiểu để sửa tên cột:

# replace white spaces by underscores
df.columns = [c.replace(' ', '_') for c in df]

# strip leading white spaces
df.columns = [c.lstrip() for c in df]

# strip trailing white spaces
df.columns = [c.rstrip() for c in df]

# replace leading white spaces by underscores
df.columns = ['_' + c.lstrip() for c in df]

hoặc map Phương pháp dải:

# strip leading white spaces
df.columns = list(map(str.lstrip, df))

Vì các phương thức chuỗi vector hóa của Pandas (pandas.Index.strpandas.Series.str) không được tối ưu hóa, nên sử dụng các phương thức chuỗi python trong khả năng hiểu thường nhanh hơn, đặc biệt nếu bạn cần chuỗi chúng.

Ví dụ: đối với tên cột 100K, nếu bạn cần chuỗi 3 phương thức với nhau, các phương thức chuỗi Python nhanh hơn 2-5 lần so với các phương thức PANDAS tương đương.

n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

Chúng tôi có thể có dữ liệu mà không có thông tin, nhưng chúng tôi không thể có thông tin mà không có dữ liệu. & nbsp; Trích dẫn này đẹp làm sao. Dữ liệu là xương sống của nhà khoa học dữ liệu và theo một nhà khoa học dữ liệu khảo sát dành khoảng 60% thời gian để làm sạch và tổ chức dữ liệu, do đó, trách nhiệm của chúng tôi là làm quen với các kỹ thuật khác nhau để tổ chức dữ liệu theo cách tốt hơn. Trong bài viết này, chúng tôi sẽ tìm hiểu về các phương pháp khác nhau để loại bỏ khoảng trắng dải thêm khỏi toàn bộ khung dữ liệu. Bộ dữ liệu được sử dụng ở đây được đưa ra dưới đây:

Hướng dẫn remove space in string python dataframe - xóa không gian trong khung dữ liệu python chuỗi

Trong hình trên, chúng tôi đang quan sát rằng bên trong tên, tuổi, nhóm máu và các cột giới tính, dữ liệu theo cách bất thường. Trong hầu hết các ô của một cột cụ thể, thêm khoảng trắng có mặt trong phần hàng đầu của các giá trị. Vì vậy, mục đích của chúng tôi là loại bỏ tất cả các khoảng trắng thêm và sắp xếp nó một cách có hệ thống. Chúng tôi sẽ sử dụng các phương pháp khác nhau sẽ giúp chúng tôi loại bỏ tất cả không gian thêm khỏi ô. Các phương pháp khác nhau là: & nbsp;

Using Strip() function
Using Skipinitialspace 
Using replace function 
Using Converters

Các phương pháp khác nhau để loại bỏ thêm khoảng trắng

Phương pháp 1: Sử dụng hàm Dải (): & nbsp;

Pandas cung cấp phương thức xác định trước pandas.series.str.strip () để loại bỏ khoảng trắng khỏi chuỗi. Sử dụng chức năng dải, chúng ta có thể dễ dàng loại bỏ thêm khoảng trắng khỏi khoảng trắng dẫn đầu và theo dõi khỏi nhìn chằm chằm. Nó trả về một loạt hoặc chỉ mục của một đối tượng. Nó lấy tập hợp các ký tự mà chúng ta muốn loại bỏ khỏi đầu và đuôi của chuỗi (nhân vật dẫn đầu và dấu vết). Theo mặc định, không có và nếu chúng ta không vượt qua bất kỳ ký tự nào thì nó sẽ loại bỏ khoảng trắng dẫn đầu và theo dõi khỏi chuỗi. Nó trả về một loạt hoặc chỉ mục của một đối tượng.“pandas.Series.str.strip()” to remove the whitespace from the string. Using strip function we can easily remove extra whitespace from leading and trailing whitespace from staring. It returns a series or index of an object. It takes set of characters that we want to remove from head and tail of string(leading and trailing character’s). By default, it is none and if we do not pass any characters then it will remove leading and trailing whitespace from the string. It returns a series or index of an object.

Cú pháp: pandas.series.str.strip (to_strip = none)pandas.Series.str.strip(to_strip = None)

Giải thích: Phải mất tập hợp các ký tự mà chúng tôi muốn loại bỏ khỏi đầu và đuôi của chuỗi (nhân vật dẫn đầu và dấu vết).It takes set of characters that we want to remove from head and tail of string(leading and trailing character’s).

Tham số: Theo mặc định, đó là không và nếu chúng ta không vượt qua bất kỳ ký tự nào thì nó sẽ loại bỏ khoảng trắng dẫn đầu và theo dõi khỏi chuỗi. Nó trả về loạt hoặc chỉ mục của đối tượng. & Nbsp; By default it is none and if we do not pass any characters then it will remove leading and trailing whitespace from the string. It returns series or index of object. 

Ví dụ: & nbsp;

Python3

import pandas as pd

____10

# strip leading white spaces
df.columns = list(map(str.lstrip, df))
1
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
2
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
3
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
4
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
5
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
6
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
7
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
6
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
9
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
6__

n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
7
n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
8
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
4
Using Strip() function
Using Skipinitialspace 
Using replace function 
Using Converters
0
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
6
Using Strip() function
Using Skipinitialspace 
Using replace function 
Using Converters
2
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
6
Using Strip() function
Using Skipinitialspace 
Using replace function 
Using Converters
0__16
Using Strip() function
Using Skipinitialspace 
Using replace function 
Using Converters
6
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
6
Using Strip() function
Using Skipinitialspace 
Using replace function 
Using Converters
8
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
6
Syntax : pandas.Series.str.replace(' ', '')
0
n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
6

n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
7
Syntax : pandas.Series.str.replace(' ', '')
3
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
4
Syntax : pandas.Series.str.replace(' ', '')
5
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
6
Syntax : pandas.Series.str.replace(' ', '')
7
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
6
Syntax : pandas.Series.str.replace(' ', '')
9
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
6__516

map7map8

# strip leading white spaces
df.columns = list(map(str.lstrip, df))
4pandas.Index.str0
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
6pandas.Index.str0
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
6__644416

pandas.Series.str2pandas.Series.str3

pandas.Series.str4

# strip leading white spaces
df.columns = list(map(str.lstrip, df))
3pandas.Series.str6pandas.Series.str7pandas.Series.str8

pandas.Series.str4

Syntax : pandas.Series.str.replace(' ', '')
3pandas.Series.str6pandas.Series.str7pandas.Series.str8

import9pandas as pd0

 Output: Output: 

Hướng dẫn remove space in string python dataframe - xóa không gian trong khung dữ liệu python chuỗi

Phương pháp 2: Sử dụng Skipinitialspace: & nbsp; & nbsp; 

Nó không phải là bất kỳ phương thức nào nhưng nó là một trong những tham số có bên trong phương thức read_csv () có trong gấu trúc. Bên trong pandas.read_csv () Phương thức SkipinitialSpace tham số có mặt bằng cách sử dụng mà chúng ta có thể bỏ qua không gian ban đầu có mặt trong toàn bộ khung dữ liệu của chúng ta. Theo mặc định, nó là sai, làm cho nó đúng để xóa thêm không gian. & Nbsp;pandas.read_csv() method skipinitialspace parameter is present using which we can skip initial space present in our whole dataframe. By default, it is False, make it True to remove extra space. 

Cú pháp: pandas.read_csv (‘path_of_csv_file, Skipinitialspace = true)pandas.read_csv(‘path_of_csv_file’, skipinitialspace = True)

& nbsp;# Theo giá trị mặc định của SkipInitialSpace là sai, làm cho nó đúng khi sử dụng tham số này.

Ví dụ: & nbsp;

Python3

import pandas as pd

Các

import9pandas as pd0

  Output: 
 Output: 

Hướng dẫn remove space in string python dataframe - xóa không gian trong khung dữ liệu python chuỗi

Phương pháp3: Sử dụng chức năng thay thế: & nbsp; 3: Using replace function : 

Sử dụng hàm thay thế () cũng có thể loại bỏ thêm khoảng trắng khỏi DataFrame. Pandas cung cấp phương thức xác định trước pandas.series.str.replace () để loại bỏ khoảng trắng. Chương trình của nó sẽ giống như Chương trình Phương thức Dải () chỉ có một điểm khác biệt là ở đây chúng ta sẽ sử dụng hàm thay thế tại vị trí của dải ().“pandas.Series.str.replace()” to remove whitespace. Its program will be same as strip() method program only one difference is that here we will use replace function at the place of strip().

Syntax : pandas.Series.str.replace(' ', '')

Ví dụ: & nbsp;

Python3

import pandas as pd

Các

n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
7
n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
8
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
4
Using Strip() function
Using Skipinitialspace 
Using replace function 
Using Converters
0
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
6
Using Strip() function
Using Skipinitialspace 
Using replace function 
Using Converters
2
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
6
Using Strip() function
Using Skipinitialspace 
Using replace function 
Using Converters
0__16
Using Strip() function
Using Skipinitialspace 
Using replace function 
Using Converters
6
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
6
Using Strip() function
Using Skipinitialspace 
Using replace function 
Using Converters
8
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
6
Syntax : pandas.Series.str.replace(' ', '')
0
n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
6

n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
7
Syntax : pandas.Series.str.replace(' ', '')
3
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
4
Syntax : pandas.Series.str.replace(' ', '')
5
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
6
Syntax : pandas.Series.str.replace(' ', '')
7
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
6
Syntax : pandas.Series.str.replace(' ', '')
9
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
6__516

map7map8

# strip leading white spaces
df.columns = list(map(str.lstrip, df))
4pandas.Index.str0
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
6pandas.Index.str0
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
6__644416

pandas.Series.str2pandas.Series.str3

pandas.Series.str4

# strip leading white spaces
df.columns = list(map(str.lstrip, df))
3pandas.Series.str6pandas.Series.str7
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
73
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
74
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
75

pandas.Series.str4map8pandas.Series.str6pandas.Series.str7

# strip leading white spaces
df.columns = list(map(str.lstrip, df))
73
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
74
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
75

import9pandas as pd0

Output: 

Hướng dẫn remove space in string python dataframe - xóa không gian trong khung dữ liệu python chuỗi

Phương pháp 2: Sử dụng Skipinitialspace: & nbsp; & nbsp;

Nó không phải là bất kỳ phương thức nào nhưng nó là một trong những tham số có bên trong phương thức read_csv () có trong gấu trúc. Bên trong pandas.read_csv () Phương thức SkipinitialSpace tham số có mặt bằng cách sử dụng mà chúng ta có thể bỏ qua không gian ban đầu có mặt trong toàn bộ khung dữ liệu của chúng ta. Theo mặc định, nó là sai, làm cho nó đúng để xóa thêm không gian. & Nbsp;

Cú pháp: pandas.read_csv (‘path_of_csv_file, Skipinitialspace = true) pd.read_csv(“path_of_file”, converters={‘column_names’: function_name})

& nbsp;# Theo giá trị mặc định của SkipInitialSpace là sai, làm cho nó đúng khi sử dụng tham số này.

Ví dụ: & nbsp;

Python3

import pandas as pd

Các

Phương pháp3: Sử dụng chức năng thay thế: & nbsp;

Sử dụng hàm thay thế () cũng có thể loại bỏ thêm khoảng trắng khỏi DataFrame. Pandas cung cấp phương thức xác định trước pandas.series.str.replace () để loại bỏ khoảng trắng. Chương trình của nó sẽ giống như Chương trình Phương thức Dải () chỉ có một điểm khác biệt là ở đây chúng ta sẽ sử dụng hàm thay thế tại vị trí của dải ().

import9pandas as pd0

Output: 

Hướng dẫn remove space in string python dataframe - xóa không gian trong khung dữ liệu python chuỗi

Các

Python3

import pandas as pd

Các

n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
30
n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
1
n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
25
n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
3
n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
25
n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
5
n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
6

map7

n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
8
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
4
Using Strip() function
Using Skipinitialspace 
Using replace function 
Using Converters
0
n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
25
Using Strip() function
Using Skipinitialspace 
Using replace function 
Using Converters
2
n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
25
Using Strip() function
Using Skipinitialspace 
Using replace function 
Using Converters
0
n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
25
Using Strip() function
Using Skipinitialspace 
Using replace function 
Using Converters
6
n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
25
Using Strip() function
Using Skipinitialspace 
Using replace function 
Using Converters
8
n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
25
Syntax : pandas.Series.str.replace(' ', '')
0
n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
6

map7

n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
53
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
4
Syntax : pandas.Series.str.replace(' ', '')
5
n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
25
Syntax : pandas.Series.str.replace(' ', '')
7
n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
25
Syntax : pandas.Series.str.replace(' ', '')
9
n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
25map1
# strip leading white spaces
df.columns = list(map(str.lstrip, df))
6

n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
63map3
n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
25map5
n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
6

Phương pháp3: Sử dụng chức năng thay thế: & nbsp;

map7pandas.Series.str3

Sử dụng hàm thay thế () cũng có thể loại bỏ thêm khoảng trắng khỏi DataFrame. Pandas cung cấp phương thức xác định trước pandas.series.str.replace () để loại bỏ khoảng trắng. Chương trình của nó sẽ giống như Chương trình Phương thức Dải () chỉ có một điểm khác biệt là ở đây chúng ta sẽ sử dụng hàm thay thế tại vị trí của dải ().

Các

Phương pháp 4: Sử dụng bộ chuyển đổi:

n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
92
Using Strip() function
Using Skipinitialspace 
Using replace function 
Using Converters
08
n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
98

n = 100_000
df = pd.DataFrame([range(n)], columns=[f" {i} {j} " for i,j in zip(range(n), range(n, 0, -1))])

%timeit df.set_axis(df.columns.str.replace('^ +', 'S', regex=True).str.replace(' +$', 'E', regex=True).str.replace(' ', '_'), axis=1)
# 331 ms ± 2.21 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis('S' + df.columns.str.strip().str.replace(' ', '_') + 'E', axis=1)
# 118 ms ± 3.66 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)

%timeit df.set_axis(['S' + c.strip().replace(' ', '_') + 'E' for c in df], axis=1)
# 68 ms ± 5.09 ms per loop (mean ± std. dev. of 7 runs, 100 loops each)
99
Using Strip() function
Using Skipinitialspace 
Using replace function 
Using Converters
11

Using Strip() function
Using Skipinitialspace 
Using replace function 
Using Converters
12

import9pandas as pd0

Trong đoạn mã trên trong dòng đầu tiên, chúng tôi nhập các thư viện bắt buộc, ở đây gấu trúc được sử dụng để thực hiện & nbsp; đọc, viết và nhiều hoạt động khác trên dữ liệu, sau đó chúng tôi đã tạo một dataframe bằng cách sử dụng gấu trúc có 4 cột ',' tuổi '', ' Blood_group 'và' Giới tính '. Hầu như tất cả các cột có dữ liệu không đều. Bây giờ phần chính bắt đầu từ đây, chúng tôi đã tạo ra một chức năng sẽ loại bỏ thêm khoảng trắng dẫn đầu và kéo theo dữ liệu. Hàm này lấy DataFrame làm tham số và kiểm tra kiểu dữ liệu của từng cột và nếu kiểu dữ liệu của cột là ‘đối tượng thì áp dụng chức năng dải được xác định trước trong thư viện PANDAS trên cột đó, nó sẽ không làm gì cả. Sau đó, trong dòng tiếp theo, chúng tôi áp dụng hàm whitespace_remover () trên dataFrame để loại bỏ thành công khoảng trắng thêm ra khỏi các cột.‘Names’, ‘Age’, ‘Blood_Group’ and ‘Gender’. Almost all columns having irregular data. Now the major part begin from here, we created a function which will remove extra leading and trailing whitespace from the data. This function taking dataframe as a parameter and checking datatype of each column and if datatype of column is ‘Object’ then apply strip function which is predefined in pandas library on that column else it will do nothing. Then in next line we apply whitespace_remover() function on the dataframe which successfully remove the extra whitespace from the columns.

Output: 

Hướng dẫn remove space in string python dataframe - xóa không gian trong khung dữ liệu python chuỗi


Làm cách nào để loại bỏ một khoảng trống trong gấu trúc?

Cách dễ nhất để loại bỏ khoảng trắng hàng đầu và dấu vết trong gấu trúc là sử dụng bộ truy cập str cung cấp khả năng của gấu trúc để sử dụng các chức năng chuỗi.

Làm cách nào để cắt một chuỗi trong một python dataframe?

Chuỗi trang trí Python: Cách cắt một chuỗi trong Python..
dải ().Loại bỏ bất kỳ dấu vết nào và khoảng trắng hàng đầu, bao gồm các tab,.
Lstrip () loại bỏ bất kỳ khoảng trắng nào hàng đầu-có nghĩa là phía bên trái của chuỗi,.
rstrip ().Xóa bất kỳ khoảng trắng nào theo ý nghĩa, phía bên phải của chuỗi ..

Làm cách nào để loại bỏ khoảng trống khỏi tên cột Pandas DataFrame?

Để tước khoảng trắng từ tên cột, bạn có thể sử dụng str.strip, str.lstrip và str.rstrip.str. strip, str. lstrip and str. rstrip.

Làm thế nào để bạn loại bỏ khoảng trắng trong một cột trong Python?

Example..
Để thay thế tất cả khoảng trắng từ cột 'A', chúng ta có thể sử dụng phương thức str.Replace (~):.
Để loại bỏ tất cả các không gian trắng dẫn đầu và theo dõi khỏi cột 'A', chúng ta có thể sử dụng phương thức str.strip (~):.
Để loại bỏ tất cả các không gian trắng hàng đầu khỏi cột 'A', chúng ta có thể sử dụng phương thức str.lstrip (~):.