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. Chúng tôi sẽ làm sạch dữ liệu dựa trên những điều sau: Trong gấu trúc, một giá trị bị thiếu thường được biểu thị bằng 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ếuTrướ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')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()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ệuChú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ế độ.
#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:
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())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 zHã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ặpChú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ắtLà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?
Tài nguyên
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 .. |