Cách xóa khoảng trắng trong dataframe python

Chúng ta thường cần xóa khoảng trắng khỏi dữ liệu bằng gấu trúc;

Hãy xem khung dữ liệu sau, thực tế không có gì lạ khi nhận dữ liệu như bên dưới - có thể có khoảng trắng ở phía trước, sau hoặc thậm chí bên trong các giá trị

import pandas as pd

df = pd.DataFrame[{
                   'country': ['   USA     ','India','Germ any','Fra nce', '    Canada    ',
                               'Nether land','UK','Singapore', 'Australia', 
                               'Canada            '],
                  }]

df
              country
0            USA     
1               India
2            Germ any
3             Fra nce
4          Canada    
5         Nether land
6                  UK
7           Singapore
8           Australia
9  Canada            

df['country'].values
array[['   USA     ', 'India', 'Germ any', 'Fra nce', '    Canada    ',
       'Nether land', 'UK', 'Singapore', 'Australia',
       'Canada            '], dtype=object]

Những khoảng trắng này gây khó chịu vì đối với máy tính, "Canada" và "Canada" không giống nhau nhờ khoảng trắng

'Canada' in df['country'].values
False

'    Canada    ' in df['country'].values
True

Xóa khoảng trắng ở đầu và cuối trong Pandas

Cách dễ nhất để xóa khoảng trắng ở đầu và cuối trong gấu trúc là sử dụng trình truy cập str cho phép gấu trúc có khả năng sử dụng các hàm Chuỗi

Cả khoảng trắng đầu và cuối

Lưu ý trong ví dụ dưới đây, chúng ta cố tình để trống đối số trong phương thức strip[]. Điều này sẽ xóa tất cả khoảng trắng trước và sau các giá trị Chuỗi

df['clean'] = df['country'].str.strip[]

df
              country        clean
0            USA               USA
1               India        India
2            Germ any     Germ any
3             Fra nce      Fra nce
4          Canada           Canada
5         Nether land  Nether land
6                  UK           UK
7           Singapore    Singapore
8           Australia    Australia
9  Canada                   Canada

df['clean'].values
array[['USA', 'India', 'Germ any', 'Fra nce', 'Canada', 'Nether land',
       'UK', 'Singapore', 'Australia', 'Canada'], dtype=object]

Chỉ khoảng trắng hàng đầu

Trong một số trường hợp, chúng tôi có thể chỉ muốn xóa khoảng trắng ở đầu [bên trái của các giá trị Chuỗi]. Chúng ta có thể làm điều này bằng cách sử dụng phương thức lstrip[] [dải trái]. Lưu ý khoảng trắng ở cuối không bị ảnh hưởng

df['left_clean'] = df['country'].str.lstrip[]
df['left_clean'].values
array[['USA     ', 
       'India', 
       'Germ any', 
       'Fra    nce', 
       'Canada    ',
       'Nether land', 
       'UK', 
       'Singapore', 
       'Australia',
       'Canada            '], dtype=object]

Chỉ khoảng trắng ở cuối

Chúng tôi cũng có thể chỉ xóa khoảng trắng ở cuối và giữ nguyên khoảng trắng ở đầu. Chỉ cần gọi phương thức rstrip[]

df['right_clean'] = df['country'].str.rstrip[]
df['right_clean'].values
array[['   USA', 
       'India', 
       'Germ any', 
       'Fra    nce', 
       '    Canada',
       'Nether land', 
       'UK', 
       'Singapore', 
       'Australia', 
       'Canada'],
      dtype=object]

Xóa khoảng trắng không mong muốn bên trong một chuỗi

Lưu ý trong dữ liệu 'đã được làm sạch' ở trên, vẫn còn một số khoảng trắng bên trong các giá trị Chuỗi, chẳng hạn như "Germ any" và "Nether land". Chúng tôi cũng muốn xóa những thứ đó để làm cho tên quốc gia của chúng tôi viết đúng chính tả

Chúng ta có thể sử dụng hàm lstrip để xóa các ký tự khoảng trắng ở đầu khỏi cột DataFrame để xóa các ký tự khoảng trắng ở đầu khỏi cột DataFrame như được hiển thị

df. tên_sản_phẩm . str . lstrip[]

Hàm lstrip sẽ xóa các ký tự khoảng trắng ở đầu khỏi cột product_name

Đoạn mã trên sẽ trả về

Lưu ý rằng các ký tự khoảng trắng ở đầu và dòng mới bị xóa

Xóa các ký tự Khoảng trắng ở cuối

Chúng ta có thể sử dụng hàm rstrip[] để xóa các ký tự khoảng trắng ở cuối một cột

Một ví dụ như được hiển thị

df. tên_sản_phẩm . str . dải[]

Ở đây, đoạn mã trên sẽ xóa các ký tự khoảng trắng ở cuối. Một giá trị trả về ví dụ như được hiển thị

Xóa cả ký tự khoảng trắng ở đầu và cuối

Sử dụng hàm strip[], bạn cũng có thể xóa cả ký tự khoảng trắng ở đầu và cuối khỏi một cột bằng cách sử dụng hàm strip[]

Một ví dụ sử dụng như được hiển thị

df. tên_sản_phẩm . str . cởi bỏ[]

Trong trường hợp này, hàm sẽ trả về

Lưu ý cách xóa các ký tự khoảng trắng ở đầu và cuối khỏi cột

Sử dụng Thay thế

Bạn cũng có thể sử dụng hàm replace[] để xóa các ký tự khoảng trắng khỏi một cột

Ví dụ: để thay thế tất cả các ký tự tab từ một cột, chúng ta có thể thực hiện

df. tên_sản_phẩm . str . thay thế[' \t', '']

Trong trường hợp này, hàm sẽ lấy các ký tự tab và thay thế chúng bằng giá trị đã chỉ định

Đầu ra kết quả là như được hiển thị

Để xóa dấu cách và ký tự dòng mới

df. tên_sản_phẩm . str . thay thế[' \n . , ''] // remove newline

df.tên_sản_phẩm . str . thay thế[' ', ''] // remove spaces

chấm dứt

Bài viết này chỉ cho bạn nhiều cách khác nhau để xóa các ký tự khoảng trắng ở đầu và cuối khỏi Khung dữ liệu Pandas

Chủ Đề