Hướng dẫn how do you replace missing values in python with mode? - làm thế nào để bạn thay thế các giá trị bị thiếu trong python bằng chế độ?

Tôi hoàn toàn mới với Python (và trang web này) và hiện đang cố gắng thay thế các giá trị NA trong các cột DataFrame cụ thể bằng chế độ của chúng. Tôi đã thử các phương pháp khác nhau không hoạt động. Xin hãy giúp tôi phát hiện ra những gì tôi đang làm không chính xác:

Lưu ý: Tất cả các cột tôi làm việc cùng là các loại

for column in df[['race', 'goal', 'date', 'go_out', 'career_c']]:
    mode = df[column].mode()
    df[column] = df[column].fillna(mode)
2. Tất cả các mã của tôi chạy nhưng khi tôi kiểm tra số tiền null với
for column in df[['race', 'goal', 'date', 'go_out', 'career_c']]:
    mode = df[column].mode()
    df[column] = df[column].fillna(mode)
3 trong các cột, nó vẫn giữ nguyên.

Phương pháp 1:

cols_mode = ['race', 'goal', 'date', 'go_out', 'career_c']

df[cols_mode].apply(lambda x: x.fillna(x.mode, inplace=True))

Tôi cũng đã thử phương pháp của máy tiêm nhưng gặp phải kết quả tương tự

Phương pháp 2:

for column in df[['race', 'goal', 'date', 'go_out', 'career_c']]:
    mode = df[column].mode()
    df[column] = df[column].fillna(mode)

Phương pháp 3:

df['race'].fillna(df.race.mode(), inplace=True)
df['goal'].fillna(df.goal.mode(), inplace=True)
df['date'].fillna(df.date.mode(), inplace=True)
df['go_out'].fillna(df.go_out.mode(), inplace=True)
df['career_c'].fillna(df.career_c.mode(), inplace=True)

Phương pháp 4: Phương pháp của tôi ngày càng trở thành một quy trình thủ công và cuối cùng phương pháp này hoạt động: My methods become more and more of a manual process and finally this one works:

df['race'].fillna(2.0, inplace=True)
df['goal'].fillna(1.0, inplace=True)
df['date'].fillna(6.0, inplace=True)
df['go_out'].fillna(2.0, inplace=True)
df['career_c'].fillna(2.0, inplace=True) 


Bạn có thể sử dụng cú pháp sau để thay thế các giá trị NAN trong một cột của khung dữ liệu gấu trúc bằng giá trị chế độ của cột:

df['col1'] = df['col1'].fillna(df['col1'].mode()[0])

Ví dụ sau đây cho thấy cách sử dụng cú pháp này trong thực tế.

Ví dụ: Thay thế các giá trị bị thiếu bằng chế độ trong gấu trúc

Giả sử chúng ta có khung dữ liệu pandas sau với một số giá trị bị thiếu:

import numpy as np
import pandas as pd

#create DataFrame with some NaN values
df = pd.DataFrame({'rating': [np.nan, 85, np.nan, 88, 94, 90, 75, 75, 87, 86],
                   'points': [25, np.nan, 14, 16, 27, 20, 12, 15, 14, 19],
                   'assists': [5, 7, 7, np.nan, 5, 7, 6, 9, 9, 7],
                   'rebounds': [11, 8, 10, 6, 6, 9, 6, 10, 10, 7]})

#view DataFrame
df

        rating	points	assists	rebounds
0	NaN	25.0	5.0	11
1	85.0	NaN	7.0	8
2	NaN	14.0	7.0	10
3	88.0	16.0	NaN	6
4	94.0	27.0	5.0	6
5	90.0	20.0	7.0	9
6	75.0	12.0	6.0	6
7	75.0	15.0	9.0	10
8	87.0	14.0	9.0	10
9	86.0	19.0	7.0	7

Chúng ta có thể sử dụng hàm fillna () để điền vào các giá trị NAN trong cột xếp hạng với giá trị chế độ của cột xếp hạng:fillna() function to fill the NaN values in the rating column with the mode value of the rating column:

#fill NaNs with column mode in 'rating' column
df['rating'] = df['rating'].fillna(df['rating'].mode()[0])

#view updated DataFrame 
df

	rating	points	assists	rebounds
0	75.0	25.0	5.0	11
1	85.0	NaN	7.0	8
2	75.0	14.0	7.0	10
3	88.0	16.0	NaN	6
4	94.0	27.0	5.0	6
5	90.0	20.0	7.0	9
6	75.0	12.0	6.0	6
7	75.0	15.0	9.0	10
8	87.0	14.0	9.0	10
9	86.0	19.0	7.0	7

Giá trị chế độ trong cột xếp hạng là 75 vì vậy mỗi giá trị NAN trong cột xếp hạng được lấp đầy bằng giá trị này.rating column was 75 so each of the NaN values in the rating column were filled with this value.

Lưu ý: Bạn có thể tìm thấy tài liệu trực tuyến hoàn chỉnh cho hàm fillna () ở đây.: You can find the complete online documentation for the fillna() function here.

Tài nguyên bổ sung

Các hướng dẫn sau đây giải thích cách thực hiện các hoạt động phổ biến khác trong gấu trúc:

Cách đếm các giá trị bị thiếu trong gấu trúc Cách thả hàng với các giá trị NAN trong Pandas Cách thả các hàng có chứa một giá trị cụ thể trong gấu trúc
How to Drop Rows with NaN Values in Pandas
How to Drop Rows that Contain a Specific Value in Pandas


Chế độ là giá trị xuất hiện nhiều nhất trong một tập hợp các giá trị. Sử dụng phương thức fillna () và đặt chế độ để điền các cột bị thiếu bằng chế độ. Lúc đầu, chúng ta hãy nhập các thư viện cần thiết với các bí danh tương ứng của họ -fillna() method and set the mode to fill missing columns with mode. At first, let us import the required libraries with their respective aliases −

import pandas as pd
import numpy as np

Tạo một DataFrame với 2 cột. Chúng tôi đã đặt các giá trị NAN bằng cách sử dụng NP.Nan -np.NaN

dataFrame = pd.DataFrame(
   {
      "Car": ['BMW', 'Lexus', 'Lexus', 'Mustang', 'Bentley', 'Mustang'],"Units": [100, 150, np.NaN, 80, np.NaN, np.NaN]
   }
)

Tìm chế độ của các giá trị cột với nan i.e, cho các cột đơn vị ở đây. Thay thế NAN bằng chế độ của cột nơi nó được đặt bằng chế độ () trên cột đơn vị -

dataFrame.fillna(dataFrame['Units'].mode()[0], inplace = True)

Thí dụ

Sau đây là mã hoàn chỉnh -

for column in df[['race', 'goal', 'date', 'go_out', 'career_c']]:
    mode = df[column].mode()
    df[column] = df[column].fillna(mode)
0

Đầu ra

Điều này sẽ tạo ra đầu ra sau -

for column in df[['race', 'goal', 'date', 'go_out', 'career_c']]:
    mode = df[column].mode()
    df[column] = df[column].fillna(mode)
1

Hướng dẫn how do you replace missing values in python with mode? - làm thế nào để bạn thay thế các giá trị bị thiếu trong python bằng chế độ?

Cập nhật vào ngày 21 tháng 9 năm 2021 06:51:07

  • Câu hỏi và câu trả lời liên quan
  • Python Pandas - Làm đầy các giá trị cột bị thiếu bằng trung bình
  • Python Pandas - Fill Thiếu các giá trị cột (NAN) với các giá trị không đổi
  • Cách so sánh hai khung dữ liệu trong Python Pandas với các giá trị bị thiếu
  • Làm thế nào để chuyển đổi một cột với các giá trị bị thiếu thành nhị phân với 0 cho các giá trị bị thiếu trong r?
  • Python - Xóa một cột có tất cả các giá trị null trong gấu trúc
  • Python Pandas Intercal Index - Kiểm tra xem một khoảng có giá trị bị thiếu có trống hay không
  • Hoàn thành phương trình bằng cách điền vào toán tử bị thiếu trong JavaScript
  • Python Pandas - Nhận các giá trị duy nhất từ ​​một cột
  • Python - Các hàng bộ lọc dựa trên các giá trị cột với hàm truy vấn trong gấu trúc?
  • Làm thế nào để sử dụng pandas series.fillna () để thay thế các giá trị bị thiếu?
  • Python Pandas - Hiển thị các giá trị duy nhất có mặt trong mỗi cột
  • Làm thế nào để thay thế các giá trị bị thiếu trong một cột bằng các giá trị tương ứng trong cột khác của khung dữ liệu R?
  • Làm thế nào để thay thế các giá trị bị thiếu bằng trung bình trong cột khung dữ liệu R?
  • Python Pandas - Tìm các giá trị duy nhất từ ​​một cột
  • Hợp nhất Python Pandas DataFrame với một cột chung và đặt NaN cho các giá trị chưa từng có

Làm thế nào để bạn áp đặt giá trị bị thiếu với chế độ?

Mã Python: Xử lý dữ liệu bị thiếu..
Nhập và đọc tập tin. Nhập GANDAS dưới dạng nhập khẩu PD Numpy như NP Nhập matplotlib. ....
Kiểm tra xem có bao nhiêu giá trị NAN. DF. ....
Thay thế dữ liệu bị thiếu bằng một giá trị trung bình. ....
Tìm trung vị và thay thế các giá trị NAN bằng giá trị trung bình. ....
Thay thế NAN bằng giá trị chế độ ..

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

Cách điền vào dữ liệu bị thiếu bằng Python Pandas..
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à điền vào tất cả các hàng null với một giá trị được chỉ định. ....
Phương thức thay thế (). ....
Điền vào dữ liệu bị thiếu bằng nội suy ().

Làm thế nào để bạn áp đặt giá trị chế độ trong Python?

Các giá trị bị thiếu với chế độ trong câu trả lời mã Python..
cateogry_columns = df.select_dtypes (bao gồm = ['object']).cột.....
Integer_columns = df.select_dtypes (bao gồm = ['int64', 'float64']).cột.....
cho cột trong DF:.
Nếu df [cột].isnull ().....
if (cột trong cateogry_columns):.
df [cột] = df [cột].fillna (df [cột]. ....

Làm cách nào để thay đổi chế độ NAN?

Thay thế các giá trị NAN bằng các số không trong một khung gấu dữ liệu bằng cách sử dụng fillna ():..
df.fillna (0) ....
df.replace (np.nan, 0, inplace = true) ....
df ['cột'] = df ['cột']. fillna (0) ....
df ['cột'] = df ['cột']. Thay thế (np.nan, 0) ....
df ['cột']. fillna (df ['cột']. mode () [0], inplace = true) ....
df ['cột']. fillna ((df ['cột']. mean ()), inplace = true).