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: Show Lưu ý: Tất cả các cột tôi làm việc cùng là các loại 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 3 trong các cột, nó vẫn giữ nguyên.Phương pháp 1:
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:
Phương pháp 3:
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: 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úcGiả 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ổ sungCá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 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 - 0Đầu raĐiều này sẽ tạo ra đầu ra sau - 1
Cập nhật vào ngày 21 tháng 9 năm 2021 06:51:07
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). |