Hướng dẫn python clean up csv file - python xóa tệp csv

Thực hiện hiệu quả các thuật toán học máy hoặc ngay cả khi thực hiện một số phân tích dữ liệu trên bộ dữ liệu, chúng tôi yêu cầu dữ liệu sạch.

Có một câu nói nổi tiếng về mô hình số với dữ liệu, thùng rác trong thùng rác ra, chúng tôi có thể mong đợi kết quả tốt khi dữ liệu của chúng tôi không sạch sẽ.

Trong bài viết này, chúng tôi sẽ khám phá các kỹ thuật phổ biến mà chúng tôi có thể sử dụng để làm sạch dữ liệu CSV bằng thư viện Python Pandas.

Kiểm tra làm sạch dữ liệu CSV

Chúng tôi sẽ làm sạch dữ liệu dựa trên những điều sau:

  • Giá trị bị mất
  • Outliers
  • Giá trị trùng lặp

1. Làm sạch các giá trị bị thiếu trong tệp CSV

Trong gấu trúc, một giá trị bị thiếu thường được biểu thị bằng

import pandas as pd

#importing dataset
df = pd.read_csv('IMDB-Movie-Data.csv')

df.isnull().sum()
0, vì nó dựa trên gói numpy, nó là giá trị NAN dấu phẩy động đặc biệt đặc biệt với Numpy.

Bạn có thể tìm thấy bộ dữ liệu được sử dụng trong bài viết này ở đây.

Tìm các giá trị bị thiếu

Trước tiên, hãy xem cách chúng ta có thể tìm thấy nếu có một giá trị bị thiếu trong dữ liệu của chúng tôi.

#Approach 1: Trực quan

import pandas as pd
import seaborn as sb
import matplotlib.pyplot as plt

#importing Dataset
df = pd.read_csv('IMDB-Movie-Data.csv')

#Creating the heatmap
plt.figure(figsize = (8,6))
sb.heatmap(df.isnull(), cbar=False , cmap = 'magma')

Hướng dẫn python clean up csv file - python xóa tệp csv
Thiếu giá trị bằng cách sử dụng bản đồ nhiệt

Phương thức

import pandas as pd

#importing dataset
df = pd.read_csv('IMDB-Movie-Data.csv')

df.isnull().sum()
1 trả về các giá trị boolean cho biết nếu có một giá trị bị thiếu trong dữ liệu.

Tuy nhiên, quá trình này có thể chỉ giới hạn ở các bộ dữ liệu từ trung bình đến nhỏ.

#Approach 2

Chúng ta có thể sử dụng phương thức

import pandas as pd

#importing dataset
df = pd.read_csv('IMDB-Movie-Data.csv')

df.isnull().sum()
2 Sau khi áp dụng
import pandas as pd

#importing dataset
df = pd.read_csv('IMDB-Movie-Data.csv')

df.isnull().sum()
3, điều này sẽ trả về tổng các giá trị bị thiếu trong mỗi cột trong khung dữ liệu.

import pandas as pd

#importing dataset
df = pd.read_csv('IMDB-Movie-Data.csv')

df.isnull().sum()

Hướng dẫn python clean up csv file - python xóa tệp csv
Tìm tổng các giá trị bị thiếu

Làm sạch các giá trị bị thiếu từ dữ liệu

Chúng tôi thấy rằng bộ dữ liệu của chúng tôi có một số giá trị bị thiếu trong đó, chúng tôi nên làm gì tiếp theo để có được dữ liệu sạch?

Chúng ta có thể thả các hàng và cột chứa các giá trị bị thiếu trong chúng hoặc thay thế các giá trị bị thiếu bằng giá trị thích hợp, tức là trung bình, trung bình hoặc chế độ.

  1. Bỏ các giá trị bị thiếu:

#imporing pandas
import pandas as pd

#Importing dataset
df = pd.read_csv('IMDB-Movie-Data.csv')

#Size of original dataset
print(df.shape)

#Dropping the missing rows.
df_dropped = df.dropna(how = 'any')

Mã trên sẽ thả các hàng từ DataFrame có các giá trị bị thiếu.

Hãy cùng nhìn vào phương pháp

import pandas as pd

#importing dataset
df = pd.read_csv('IMDB-Movie-Data.csv')

df.isnull().sum()
4 một cách chi tiết:

  • df.dropna () - thả tất cả các hàng có bất kỳ giá trị nan nào
  • df.dropna (How = xông all
  • df.dropna (ngưỡng = 2) - thả hàng nếu nó không có ít nhất hai giá trị không phải là NANnot NaN
  • df.dropna (tập hợp con = [1]) - chỉ giảm nếu nan trong cột cụ thể

Người ta phải cẩn thận khi xem xét giảm các giá trị bị thiếu vì nó có thể ảnh hưởng đến chất lượng của bộ dữ liệu.

2. Thay thế các giá trị bị thiếuReplacing Missing values

import pandas as pd

#importing the dataset
df = pd.read_csv('IMDB-Movie-Data.csv')

#Creating a copy of dataframe
df_new = df

df_new['Metascore'] = df_new['Metascore'].fillna((df_new['Metascore'].mean()))

#printing the dataframes after replacing null values
print(df_new.isna().sum())
print(df.isna().sum())

Hướng dẫn python clean up csv file - python xóa tệp csv
Trước và sau khi điền các giá trị null

Mô -đun Pandas có phương thức .fillna (), chấp nhận một giá trị mà chúng tôi muốn thay thế thay cho các giá trị NAN. Chúng tôi chỉ tính giá trị trung bình của cột và chuyển nó như một đối số đầu vào cho phương thức

import pandas as pd

#importing dataset
df = pd.read_csv('IMDB-Movie-Data.csv')

df.isnull().sum()
5.

2. Đối phó với các ngoại lệ

Các ngoại lệ có thể thay đổi quá trình của toàn bộ dự đoán do đó nó là điều cần thiết chúng ta phát hiện và loại bỏ các ngoại lệ.

Sử dụng điểm z

Hãy để phát hiện ra các ngoại lệ trong cột phiếu bầu trong tập dữ liệu của chúng tôi và lọc các ngoại lệ bằng điểm số Z.

Ý tưởng đằng sau phương pháp này nằm ở chỗ các giá trị nằm 3 độ lệch chuẩn so với giá trị trung bình sẽ được gọi là ngoại lệ.

#importing required modules
import pandas as pd
import numpy as np
from scipy import stats

#importing dataset
df = pd.read_csv('IMDB-Movie-Data.csv')

#filtering outliers
df_new = df[(np.abs(stats.zscore(df.Votes)) < 3)]

Cột mà phương pháp này được áp dụng phải là một biến số và không phân loại.

Sử dụng lượng tử

Bằng phương pháp này, các giá trị giảm xuống dưới 0,01 lượng tử và 0,99 lượng tử trong chuỗi sẽ được lọc ra.

#importing required modules
import pandas as pd
import numpy as np
from scipy import stats

#importing dataset
df = pd.read_csv('IMDB-Movie-Data.csv')

#Selecting limits
q_low = df["Votes"].quantile(0.01)
q_hi  = df["Votes"].quantile(0.99)

#filtering outliers
df_filtered = df[(df["Votes"] < q_hi) & (df["Votes"] > q_low)]


3. Xử lý các mục trùng lặp

Chúng tôi có thể kiểm tra bất kỳ bản sao nào trong DataFrame bằng phương pháp

import pandas as pd

#importing dataset
df = pd.read_csv('IMDB-Movie-Data.csv')

df.isnull().sum()
6. Điều này trả về một loạt gấu trúc chứ không phải một khung dữ liệu.
import pandas as pd

#importing dataset
df = pd.read_csv('IMDB-Movie-Data.csv')

df.isnull().sum()
6
method. This returns a Pandas Series and not a DataFrame.

Để kiểm tra các giá trị trùng lặp trong một cột cụ thể, chúng tôi có thể cung cấp tên cột làm đối số đầu vào vào phương thức

import pandas as pd

#importing dataset
df = pd.read_csv('IMDB-Movie-Data.csv')

df.isnull().sum()
7.

Hãy cùng xem điều này trong hành động.

May mắn thay, chúng tôi không có giá trị trùng lặp trong khung dữ liệu của mình, vì vậy chúng tôi sẽ nối một số giá trị từ chính khung dữ liệu để tạo các giá trị trùng lặp.

#Import the required modules
import pandas as pd
import numpy as np

#importing and appending similar rows to of the dataframe
df = pd.read_csv('IMDB-Movie-Data.csv')
df1 = df.append(df.iloc[20:30,:])

df1.duplicated().sum()

Output:
10

Bây giờ, phương thức

import pandas as pd

#importing dataset
df = pd.read_csv('IMDB-Movie-Data.csv')

df.isnull().sum()
8 được sử dụng để bỏ các giá trị trùng lặp từ DataFrame.

#Importing the required modules
#Import the required modules
import pandas as pd
import numpy as np

#importing and appending similar rows to of the dataframe
df = pd.read_csv('IMDB-Movie-Data.csv')
df1 = df.append(df.iloc[20:30,:])

#dropping the duplicates
df1 = df1.drop_duplicates()

#checking the duplicates 
df1.duplicated().sum()

output:
0

Bản tóm tắt

Làm sạch dữ liệu CSV trong Python rất dễ dàng với gấu trúc và mô -đun numpy. Luôn luôn thực hiện làm sạch dữ liệu trước khi chạy một số phân tích trên đó để đảm bảo phân tích là chính xác.

Cái gì tiếp theo?

  • Phân tích dữ liệu Python
  • Mô -đun Numpy
  • Phân tích dữ liệu so với khoa học dữ liệu

Tài nguyên

  • Trang web chính thức của Pandas
  • Tài liệu numpy.org

Làm thế nào để bạn làm sạch dữ liệu lộn xộn trong Python?

Làm sạch dữ liệu Pythonic với gấu trúc và numpy..
Bỏ các cột trong một khung dữ liệu ..
Thay đổi chỉ mục của một khung dữ liệu ..
Dọn dẹp các trường trong dữ liệu ..
Kết hợp các phương thức STR với các cột Numpy với các cột sạch ..
Làm sạch toàn bộ bộ dữ liệu bằng hàm applicationMap ..
Đổi tên các cột và bỏ qua hàng ..

Python có tốt cho việc làm sạch dữ liệu không?

Tầm quan trọng của Python, Numpy và Pandas, cả hai thư viện Python (có nghĩa là các công cụ được lập trình sẵn) là những công cụ được lựa chọn giữa các nhà khoa học dữ liệu khi nói đến làm sạch dữ liệu, chuẩn bị và phân tích khác.both Python libraries (meaning pre-programmed toolsets) are the tools of choice amongst data scientists when it comes to data cleaning, prep, and other analysis.

Bạn có thể tự động hóa việc làm sạch dữ liệu trong Python không?

AutoClean tự động hóa việc tiền xử lý và làm sạch cho dự án khoa học dữ liệu tiếp theo của bạn tại Python.Chúng ta hãy xem một ví dụ trực quan về cách AutoClean xử lý bộ dữ liệu mẫu bên dưới: Bộ dữ liệu mẫu.. Let's look at a visual example of how AutoClean processes the sample dataset below: Sample dataset.

Làm cách nào để làm sạch bộ dữ liệu của tôi?

Làm thế nào để làm sạch dữ liệu..
Bước 1: Loại bỏ các quan sát trùng lặp hoặc không liên quan.Loại bỏ các quan sát không mong muốn khỏi bộ dữ liệu của bạn, bao gồm các quan sát trùng lặp hoặc quan sát không liên quan.....
Bước 2: Khắc phục lỗi cấu trúc.....
Bước 3: Lọc các ngoại lệ không mong muốn.....
Bước 4: Xử lý dữ liệu bị thiếu.....
Bước 5: Xác thực và QA ..