Hướng dẫn how do you replace missing data in python? - làm thế nào để bạn thay thế dữ liệu bị thiếu trong python?

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc

    Bàn luận

    Bộ dữ liệu là một tập hợp các thuộc tính và hàng. Bộ dữ liệu có thể có dữ liệu bị thiếu được biểu thị bởi NA trong Python và trong bài viết này, chúng tôi sẽ thay thế các giá trị bị thiếu trong bài viết này

    Chúng tôi xem xét bộ dữ liệu này: Bộ dữ liệu

    bộ dữ liệu

    Approach:

    • Trong dữ liệu của chúng tôi chứa các giá trị bị thiếu về số lượng, giá cả, mua, buổi sáng và các cột buổi chiều,
    • Vì vậy, chúng ta có thể thay thế các giá trị bị thiếu trong cột số lượng bằng cột trung bình, giá bằng cột trung bình, mua với độ lệch chuẩn. Cột forenoon với giá trị tối thiểu trong cột đó. Cột buổi chiều với giá trị tối đa trong cột đó.
    • Nhập mô -đun
    • Tải dữ liệu đặt

    Syntax:

    Điền vào các giá trị bị thiếudata=data.fillna[data.mean[]]

    Xác minh bộ dữ liệudata=data.fillna[data.median[]]

    Trung bình: data = data.fillna [data.mean []]data=data.fillna[data.std[]]

    Median: data = data.fillna [data.median []]data=data.fillna[data.min[]]

    Độ lệch chuẩn: data = data.fillna [data.std []]data=data.fillna[data.max[]]

    Min: data = data.fillna [data.min []]

    Python3

    Tối đa: data = data.fillna [data.max []]

    Dưới đây là việc thực hiện:

    import pandas
    df = pandas.DataFrame[{'A' :[0, 3, None, 10, 3, None],
    'B' : [None, None, 7.13, 13.82, 7, 7],
    'C' : [None, "Pandas", None, "Pandas", "Python", "JavaScript"]}]
    0
    import pandas
    df = pandas.DataFrame[{'A' :[0, 3, None, 10, 3, None],
    'B' : [None, None, 7.13, 13.82, 7, 7],
    'C' : [None, "Pandas", None, "Pandas", "Python", "JavaScript"]}]
    1

    Output:

    import pandas
    df = pandas.DataFrame[{'A' :[0, 3, None, 10, 3, None],
    'B' : [None, None, 7.13, 13.82, 7, 7],
    'C' : [None, "Pandas", None, "Pandas", "Python", "JavaScript"]}]
    2
    import pandas
    df = pandas.DataFrame[{'A' :[0, 3, None, 10, 3, None],
    'B' : [None, None, 7.13, 13.82, 7, 7],
    'C' : [None, "Pandas", None, "Pandas", "Python", "JavaScript"]}]
    3
    import pandas
    df = pandas.DataFrame[{'A' :[0, 3, None, 10, 3, None],
    'B' : [None, None, 7.13, 13.82, 7, 7],
    'C' : [None, "Pandas", None, "Pandas", "Python", "JavaScript"]}]
    4
    import pandas
    df = pandas.DataFrame[{'A' :[0, 3, None, 10, 3, None],
    'B' : [None, None, 7.13, 13.82, 7, 7],
    'C' : [None, "Pandas", None, "Pandas", "Python", "JavaScript"]}]
    5
    import pandas
    df = pandas.DataFrame[{'A' :[0, 3, None, 10, 3, None],
    'B' : [None, None, 7.13, 13.82, 7, 7],
    'C' : [None, "Pandas", None, "Pandas", "Python", "JavaScript"]}]
    6

    Python3

    import pandas
    df = pandas.DataFrame[{'A' :[0, 3, None, 10, 3, None],
    'B' : [None, None, 7.13, 13.82, 7, 7],
    'C' : [None, "Pandas", None, "Pandas", "Python", "JavaScript"]}]
    7
    import pandas
    df = pandas.DataFrame[{'A' :[0, 3, None, 10, 3, None],
    'B' : [None, None, 7.13, 13.82, 7, 7],
    'C' : [None, "Pandas", None, "Pandas", "Python", "JavaScript"]}]
    8

    Sau đó, sau khi chúng tôi sẽ tiến hành thay thế các giá trị bị thiếu bằng giá trị trung bình, trung bình, chế độ, độ lệch chuẩn, tối thiểu & tối đa

    import pandas
    df = pandas.DataFrame[{'A' :[0, 3, None, 10, 3, None],
    'B' : [None, None, 7.13, 13.82, 7, 7],
    'C' : [None, "Pandas", None, "Pandas", "Python", "JavaScript"]}]
    9
    #To insert the mean value of each column into its missing rows: 
    df.fillna[df.mean[].round[1], inplace=True]
    #For median:strong>
    df.fillna[df.median[].round[1], inplace=True]
    print[df]
    0
    #To insert the mean value of each column into its missing rows: 
    df.fillna[df.mean[].round[1], inplace=True]
    #For median:strong>
    df.fillna[df.median[].round[1], inplace=True]
    print[df]
    1
    import pandas
    df = pandas.DataFrame[{'A' :[0, 3, None, 10, 3, None],
    'B' : [None, None, 7.13, 13.82, 7, 7],
    'C' : [None, "Pandas", None, "Pandas", "Python", "JavaScript"]}]
    3
    import pandas
    df = pandas.DataFrame[{'A' :[0, 3, None, 10, 3, None],
    'B' : [None, None, 7.13, 13.82, 7, 7],
    'C' : [None, "Pandas", None, "Pandas", "Python", "JavaScript"]}]
    9
    #To insert the mean value of each column into its missing rows: 
    df.fillna[df.mean[].round[1], inplace=True]
    #For median:strong>
    df.fillna[df.median[].round[1], inplace=True]
    print[df]
    0
    #To insert the mean value of each column into its missing rows: 
    df.fillna[df.mean[].round[1], inplace=True]
    #For median:strong>
    df.fillna[df.median[].round[1], inplace=True]
    print[df]
    5____________
    #To insert the mean value of each column into its missing rows: 
    df.fillna[df.mean[].round[1], inplace=True]
    #For median:strong>
    df.fillna[df.median[].round[1], inplace=True]
    print[df]
    7

    import pandas
    df = pandas.DataFrame[{'A' :[0, 3, None, 10, 3, None],
    'B' : [None, None, 7.13, 13.82, 7, 7],
    'C' : [None, "Pandas", None, "Pandas", "Python", "JavaScript"]}]
    9
    #To insert the mean value of each column into its missing rows: 
    df.fillna[df.mean[].round[1], inplace=True]
    #For median:strong>
    df.fillna[df.median[].round[1], inplace=True]
    print[df]
    9
    #To insert the mean value of each column into its missing rows: 
    df.fillna[df.mean[].round[1], inplace=True]
    #For median:strong>
    df.fillna[df.median[].round[1], inplace=True]
    print[df]
    1
    import pandas
    df = pandas.DataFrame[{'A' :[0, 3, None, 10, 3, None],
    'B' : [None, None, 7.13, 13.82, 7, 7],
    'C' : [None, "Pandas", None, "Pandas", "Python", "JavaScript"]}]
    3
    import pandas
    df = pandas.DataFrame[{'A' :[0, 3, None, 10, 3, None],
    'B' : [None, None, 7.13, 13.82, 7, 7],
    'C' : [None, "Pandas", None, "Pandas", "Python", "JavaScript"]}]
    9
    #To insert the mean value of each column into its missing rows: 
    df.fillna[df.mean[].round[1], inplace=True]
    #For median:strong>
    df.fillna[df.median[].round[1], inplace=True]
    print[df]
    9
    #To insert the mean value of each column into its missing rows: 
    df.fillna[df.mean[].round[1], inplace=True]
    #For median:strong>
    df.fillna[df.median[].round[1], inplace=True]
    print[df]
    5
    #To insert the mean value of each column into its missing rows: 
    df.fillna[df.mean[].round[1], inplace=True]
    #For median:strong>
    df.fillna[df.median[].round[1], inplace=True]
    print[df]
    9
    df['C'].fillna[df['C'].mode[][0], inplace=True]
    6

    import pandas
    df = pandas.DataFrame[{'A' :[0, 3, None, 10, 3, None],
    'B' : [None, None, 7.13, 13.82, 7, 7],
    'C' : [None, "Pandas", None, "Pandas", "Python", "JavaScript"]}]
    9
    df['C'].fillna[df['C'].mode[][0], inplace=True]
    8
    #To insert the mean value of each column into its missing rows: 
    df.fillna[df.mean[].round[1], inplace=True]
    #For median:strong>
    df.fillna[df.median[].round[1], inplace=True]
    print[df]
    1
    import pandas
    df = pandas.DataFrame[{'A' :[0, 3, None, 10, 3, None],
    'B' : [None, None, 7.13, 13.82, 7, 7],
    'C' : [None, "Pandas", None, "Pandas", "Python", "JavaScript"]}]
    3
    import pandas
    df = pandas.DataFrame[{'A' :[0, 3, None, 10, 3, None],
    'B' : [None, None, 7.13, 13.82, 7, 7],
    'C' : [None, "Pandas", None, "Pandas", "Python", "JavaScript"]}]
    9
    df['C'].fillna[df['C'].mode[][0], inplace=True]
    8
    #To insert the mean value of each column into its missing rows: 
    df.fillna[df.mean[].round[1], inplace=True]
    #For median:strong>
    df.fillna[df.median[].round[1], inplace=True]
    print[df]
    5
    df['C'].fillna[df['C'].mode[][0], inplace=True]
    8
    for i in df.columns:
    df[i].fillna[df[i].mode[][0], inplace=True]
    print[df]
    5

    import pandas
    df = pandas.DataFrame[{'A' :[0, 3, None, 10, 3, None],
    'B' : [None, None, 7.13, 13.82, 7, 7],
    'C' : [None, "Pandas", None, "Pandas", "Python", "JavaScript"]}]
    7
    df.fillna[method='ffill', inplace=True]
    9

    Output:


    Làm sạch dữ liệu chắc chắn mất rất nhiều thời gian trong khoa học dữ liệu và dữ liệu bị thiếu là một trong những thách thức mà bạn thường gặp phải. Pandas là một công cụ thao tác dữ liệu Python có giá trị giúp bạn khắc phục các giá trị bị thiếu trong bộ dữ liệu của bạn, trong số những thứ khác.

    Bạn có thể sửa dữ liệu bị thiếu bằng cách thả hoặc điền chúng với các giá trị khác. Trong bài viết này, chúng tôi sẽ giải thích và khám phá các cách khác nhau để điền vào dữ liệu bị thiếu bằng gấu trúc.

    1. Sử dụng phương thức fillna []:

    Hàm fillna [] lặp lại thông qua bộ dữ liệu của bạn và lấp đầy tất cả các hàng null với một giá trị được chỉ định. Nó chấp nhận một số đối số tùy chọn, ghi chú của các đối số sau: fillna[] function iterates through your dataset and fills all null rows with a specified value. It accepts some optional arguments—take note of the following ones:

    Giá trị: Đây là giá trị bạn muốn chèn vào các hàng bị thiếu.: This is the value you want to insert into the missing rows.

    Phương pháp: Cho phép bạn điền vào các giá trị bị thiếu về phía trước hoặc ngược lại. Nó chấp nhận tham số 'bfill' hoặc 'ffill'.: Lets you fill missing values forward or in reverse. It accepts a 'bfill' or 'ffill' parameter.

    Tại chỗ: Điều này chấp nhận một tuyên bố có điều kiện. Nếu đúng, nó sửa đổi dữ liệu vĩnh viễn. Nếu không, nó không.: This accepts a conditional statement. If True, it modifies the DataFrame permanently. Otherwise, it doesn't.

    Trước khi chúng tôi bắt đầu, hãy đảm bảo bạn cài đặt gấu trúc vào môi trường ảo Python của mình bằng PIP trong thiết bị đầu cuối của bạn:pip in your terminal:

    pip install pandas

    Tiếp theo, bên trong tập lệnh Python, chúng tôi sẽ tạo một DataFrame thực hành và chèn các giá trị null [NAN] vào một số hàng:Nan] into some rows:

    import pandas
    df = pandas.DataFrame[{'A' :[0, 3, None, 10, 3, None],
    'B' : [None, None, 7.13, 13.82, 7, 7],
    'C' : [None, "Pandas", None, "Pandas", "Python", "JavaScript"]}]

    Bây giờ, hãy xem cách bạn có thể điền vào các giá trị bị thiếu này bằng các phương thức có sẵn khác nhau trong gấu trúc.

    Điền vào các giá trị bị thiếu bằng giá trị trung bình, trung bình hoặc chế độ

    Phương pháp này liên quan đến việc thay thế các giá trị bị thiếu bằng trung bình được tính toán. Việc điền vào dữ liệu bị thiếu bằng giá trị trung bình hoặc trung bình được áp dụng khi các cột liên quan có các loại dữ liệu số nguyên hoặc float.

    Bạn cũng có thể điền vào dữ liệu bị thiếu bằng giá trị chế độ, đây là giá trị xảy ra nhất. Điều này cũng được áp dụng cho số nguyên hoặc phao. Nhưng nó thuận tiện hơn khi các cột trong câu hỏi có chứa các chuỗi.

    Đây là cách chèn trung bình và trung bình vào các hàng bị thiếu trong DataFrame bạn đã tạo trước đó:

    #To insert the mean value of each column into its missing rows: 
    df.fillna[df.mean[].round[1], inplace=True]
    #For median:strong>
    df.fillna[df.median[].round[1], inplace=True]
    print[df]

    Chèn giá trị phương thức như bạn đã làm cho giá trị trung bình và trung bình ở trên không nắm bắt được toàn bộ khung dữ liệu. Nhưng bạn có thể chèn nó vào một cột cụ thể thay thế, giả sử, cột C:C:

    df['C'].fillna[df['C'].mode[][0], inplace=True]

    Như đã nói, vẫn có thể chèn giá trị phương thức của mỗi cột trên các hàng bị thiếu cùng một lúc bằng cách sử dụng một vòng lặp:

    for i in df.columns:
    df[i].fillna[df[i].mode[][0], inplace=True]
    print[df]

    Nếu bạn muốn được đặc trưng cho cột trong khi chèn trung bình, trung bình hoặc chế độ:

    df.fillna[{"A":df['A'].mean[], 
    "B": df['B'].median[],
    "C": df['C'].mode[][0]},
    inplace=True]
    print[df]

    Lấp đầy các hàng null bằng các giá trị bằng cách sử dụng ffill

    Điều này liên quan đến việc chỉ định phương thức điền bên trong là hàm fillna []. Phương thức này lấp đầy từng hàng bị thiếu với giá trị của hàng gần nhất ở trên nó.fillna[] function. This method fills each missing row with the value of the nearest one above it.

    Bạn cũng có thể gọi nó là Forward Filling:

    df.fillna[method='ffill', inplace=True]

    Điền vào các hàng bị thiếu bằng các giá trị bằng bfill

    Ở đây, bạn sẽ thay thế phương thức ffill được đề cập ở trên bằng bfill. Nó lấp đầy từng hàng bị thiếu trong khung dữ liệu với giá trị gần nhất bên dưới nó.ffill method mentioned above with bfill. It fills each missing row in the DataFrame with the nearest value below it.

    Cái này được gọi là điền lạc hậu:

    df.fillna[method='bfill', inplace=True]

    2. Phương thức thay thế []

    Bạn có thể thay thế các giá trị NAN trong một cột cụ thể bằng giá trị trung bình, trung bình, chế độ hoặc bất kỳ giá trị nào khác.Nan values in a specific column with the mean, median, mode, or any other value.

    Xem cách thức hoạt động bằng cách thay thế các hàng null trong một cột được đặt tên bằng giá trị trung bình, trung bình hoặc chế độ của nó:

    import pandas
    import numpy #this requires that you've previously installed numpy
    #Replace the null values with the mean:
    df['A'].replace[[numpy.nan], df[A].mean[], inplace=True]
    #Replace column A with the median:
    df['B'].replace[[numpy.nan], df[B].median[], inplace=True]
    #Use the modal value for column C:
    df['C'].replace[[numpy.nan], df['C'].mode[][0], inplace=True]
    print[df]

    3. Điền dữ liệu bị thiếu bằng nội suy []

    Hàm nội suy [] sử dụng các giá trị hiện có trong khung dữ liệu để ước tính các hàng bị thiếu.interpolate[] function uses existing values in the DataFrame to estimate the missing rows.

    Chạy mã sau để xem cách thức hoạt động của nó:

    #Interpolate backwardly across the column:
    df.interpolate[method ='linear', limit_direction ='backward', inplace=True]
    #Interpolate in forward order across the column:
    df.interpolate[method ='linear', limit_direction ='forward', inplace=True]

    Đối phó với các hàng bị thiếu cẩn thận

    Mặc dù chúng tôi chỉ xem xét điền vào dữ liệu bị thiếu bằng các giá trị mặc định như trung bình, chế độ và các phương thức khác, các kỹ thuật khác tồn tại để sửa các giá trị bị thiếu. Các nhà khoa học dữ liệu, ví dụ, đôi khi loại bỏ các hàng bị thiếu này, tùy thuộc vào trường hợp.

    Hơn nữa, điều cần thiết là phải suy nghĩ nghiêm túc về chiến lược của bạn trước khi sử dụng nó. Nếu không, bạn có thể nhận được kết quả phân tích hoặc dự đoán không mong muốn. Một số chiến lược trực quan hóa dữ liệu ban đầu có thể giúp ích.

    Làm thế nào để bạn thay thế một giá trị bị thiếu?

    Các giá trị bị thiếu có thể được thay thế bằng giá trị tối thiểu, tối đa hoặc trung bình của thuộc tính đó.Zero cũng có thể được sử dụng để thay thế các giá trị bị thiếu.Bất kỳ giá trị bổ sung cũng có thể được chỉ định như là một sự thay thế của các giá trị bị thiếu.by the minimum, maximum or average value of that Attribute. Zero can also be used to replace missing values. Any replenishment value can also be specified as a replacement of missing values.

    Làm thế nào để bạn xử lý dữ liệu bị thiếu trong Python?

    Làm thế nào để khắc phục dữ liệu bị thiếu trong bộ dữ liệu của chúng tôi ?..
    Thả nó nếu nó không được sử dụng [chủ yếu là hàng] ....
    Cắt bỏ theo nghĩa: ....
    Cắt bỏ theo trung bình: ....
    Cắt giảm bởi hầu hết các giá trị thường xuyên [chế độ]: ....
    Cắt bỏ các giá trị phân loại: ....
    Quan sát cuối cùng được chuyển tiếp [LOCF] ....
    Nội suy - tuyến tính.....
    Cắt bỏ bởi K-NN:.

    Bài Viết Liên Quan

    Chủ Đề