Thay thế giá trị bằng gấu trúc NaN
mô-đun nhập khẩu Show
tạo khung dữ liệu giả agefavorite_colorgradenameWillard Morris20blue88Willard MorrisAl Jennings19red92Al JenningsOmar Mullins22yellow95Omar MullinsSpencer McDaniel21green70Spencer McDanielTạo một số giá trị NaN trong khung dữ liệu agefavorite_colorgradenameWillard MorrisNaNblue88. 0Willard MorrisAl Jennings19. 0red92. 0Al JenningsOmar Mullins22. 0vàng95. 0 Omar Mullins Spencer McDaniel 21. 0greenNaNSpencer McDanielThay thế các giá trị NaN trong khung dữ liệu (bằng 0 trong trường hợp này) agefavorite_colorgradenameWillard Morris0. 0blue88. 0Willard MorrisAl Jennings19. 0red92. 0Al JenningsOmar Mullins22. 0vàng95. 0 Omar Mullins Spencer McDaniel 21. 0green0. 0Spencer McDanielBạn có thể thay thế giá trị còn thiếu ( 5) trong 6 và 7 bằng bất kỳ giá trị nào bằng cách sử dụng phương pháp 8
Bài viết này mô tả các nội dung sau
Sử dụng 3 nếu bạn muốn điền các giá trị còn thiếu bằng phép nội suy tuyến tính hoặc spline
Để biết thêm thông tin về cách xóa hoặc đếm các giá trị bị thiếu, hãy xem các bài viết sau
Lưu ý rằng không chỉ 5 (Không phải là số) mà cả 5 cũng được coi là giá trị bị thiếu trong pandas
Ví dụ: đọc tệp CSV có giá trị bị thiếu với 6
4nguồn. Liên kết được tài trợ Thay thế tất cả các giá trị bị thiếu bằng cùng một giá trịBằng cách chỉ định giá trị vô hướng làm đối số đầu tiên 7 của 8, tất cả các giá trị bị thiếu sẽ được thay thế bằng giá trị
nguồn. Lưu ý rằng kiểu dữ liệu 9 của một cột số bao gồm 5 là 01, vì vậy ngay cả khi bạn thay thế 5 bằng một số nguyên, kiểu dữ liệu vẫn là 01. Nếu bạn muốn chuyển đổi nó thành 04, hãy sử dụng 05
Thay thế các giá trị bị thiếu bằng các giá trị khác nhau cho mỗi cộtBằng cách chỉ định một từ điển 06 làm đối số đầu tiên 7 của 8, bạn có thể gán các giá trị khác nhau cho mỗi cộtChỉ định một từ điển của 09. Nếu tên cột không được chỉ định, các giá trị bị thiếu trong cột của nó sẽ được giữ lại (= không được thay thế). Nếu 90 không khớp với tên cột, nó sẽ bị bỏ qua
nguồn. Bạn cũng có thể chỉ định 2. Nhãn của 2 tương ứng với khóa của 06 0nguồn. Thay thế các giá trị bị thiếu bằng giá trị trung bình, trung bình, chế độ, v.v. cho mỗi cộtGiá trị trung bình của mỗi cột có thể được tính bằng phương pháp 94. 2 được trả lại. 5 bị loại trừ, nhưng kết quả cho một cột có tất cả các phần tử là 5 là 5
9nguồn. Nếu bạn chỉ định 2 này làm đối số đầu tiên 7 của 8, các giá trị còn thiếu của cột tương ứng sẽ được thay thế bằng giá trị trung bình 4nguồn. Tương tự, nếu bạn muốn thay thế các giá trị bị thiếu bằng trung vị, hãy sử dụng phương thức 42. Nếu số lượng phần tử là số chẵn, giá trị trung bình của hai giá trị trung bình được trả về
6nguồn. Chế độ có thể thu được bằng phương pháp 43. Vì 43 trả về 6, hàng đầu tiên được truy xuất là 2 bởi 47 trong ví dụ này
2nguồn. Trong các ví dụ này, không có vấn đề gì, nhưng các phương thức như 94 có thể trả về các giá trị không mong muốn vì chúng cố gắng vận hành không chỉ các cột số mà cả các loại cột khác theo mặc địnhTrong 94, v.v., nếu đối số 60 được đặt thành 61, thì chỉ các cột số được xử lý. Lưu ý rằng các cột loại 62 được coi là 63 và 64 ngay cả khi 65Liên kết được tài trợ Thay thế các giá trị bị thiếu bằng các giá trị hợp lệ trước đó/tiếp theo. print(df.fillna(0)) # name age state point other # 0 Alice 24.0 NY 0.0 0.0 # 1 0 0.0 0 0.0 0.0 # 2 Charlie 0.0 CA 0.0 0.0 # 3 Dave 68.0 TX 70.0 0.0 # 4 Ellen 0.0 CA 88.0 0.0 # 5 Frank 30.0 0 0.0 0.0 9, print(df.fillna({'name': 'XXX', 'age': 20, 'ZZZ': 100})) # name age state point other # 0 Alice 24.0 NY NaN NaN # 1 XXX 20.0 NaN NaN NaN # 2 Charlie 20.0 CA NaN NaN # 3 Dave 68.0 TX 70.0 NaN # 4 Ellen 20.0 CA 88.0 NaN # 5 Frank 30.0 NaN NaN NaN 0Đối số 9 của 8 có thể được sử dụng để thay thế các giá trị bị thiếu bằng các giá trị hợp lệ trước đó/tiếp theoNếu 9 được đặt thành 21 hoặc 22, các giá trị bị thiếu sẽ được thay thế bằng các giá trị hợp lệ trước đó (= điền về phía trước) và nếu 23 hoặc 24, được thay thế bằng các giá trị hợp lệ tiếp theo (= điền vào phía sau) 0nguồn. Nếu chỉ định 9, thì có thể sử dụng 0 để chỉ định số lần thay thế liên tiếp tối đa 3nguồn. Nó có thể không được sử dụng thường xuyên, nhưng nếu đối số 27 được đặt thành 28 hoặc 29, các giá trị bị thiếu sẽ được thay thế bằng các giá trị bên trái và bên phải 0nguồn. Các phương thức tương ứng với đối số 9 được cung cấp riêng
01 và 02 tương đương với 03, và 04 và 05 tương đương với 06. Bạn có thể chỉ định 0 1nguồn. vận hành tại chỗ. print(df.fillna({'name': 'XXX', 'age': 20, 'ZZZ': 100})) # name age state point other # 0 Alice 24.0 NY NaN NaN # 1 XXX 20.0 NaN NaN NaN # 2 Charlie 20.0 CA NaN NaN # 3 Dave 68.0 TX 70.0 NaN # 4 Ellen 20.0 CA 88.0 NaN # 5 Frank 30.0 NaN NaN NaN 1Như trong các ví dụ trên, theo mặc định, một đối tượng mới được trả về và đối tượng ban đầu không bị thay đổi, nhưng nếu 09, đối tượng ban đầu sẽ được cập nhật
Làm cách nào để thay thế giá trị null bằng NaN trong gấu trúc?Sử dụng fillna() thành giá trị NaN/Null với chuỗi rỗng
. Điều này thay thế từng NaN trong DataFrame của gấu trúc bằng một chuỗi trống.
Làm cách nào để gấu trúc NaN có thể thay thế các giá trị không phải là số?Quy trình tôi tuân theo . Bước 1. Hãy thử nhập dữ liệu và để gấu trúc suy ra các loại dữ liệu. Kiểm tra xem các loại dữ liệu có như mong đợi không. . Bước 2. Nếu các loại dữ liệu không như mong đợi, hãy đặt rõ ràng các loại dữ liệu khi đọc bằng cách sử dụng tham số dtypes. . Bước 3. Tạo một danh sách rõ ràng các giá trị mà gấu trúc không thể chuyển đổi và chuyển chúng thành NaN khi đọc Làm cách nào để thay thế giá trị trong gấu trúc?Phương thức thay thế khung dữ liệu Pandas()
. Phương thức thay thế () tìm kiếm toàn bộ Khung dữ liệu và thay thế mọi trường hợp của giá trị đã chỉ định. The replace() method replaces the specified value with another specified value. The replace() method searches the entire DataFrame and replaces every case of the specified value. |