Làm cách nào để bạn thay thế tất cả các giá trị null trong DataFrame?

Bạn có thể thay thế giá trị còn thiếu [

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
5] trong
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
6 và
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
7 bằng bất kỳ giá trị nào bằng cách sử dụng phương pháp
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
8

  • gấu trúc. Khung dữ liệu. fillna — gấu trúc 1. 4. 0 tài liệu
  • gấu trúc. Loạt. fillna — gấu trúc 1. 4. 0 tài liệu

Bài viết này mô tả các nội dung sau

  • Thay thế tất cả các giá trị bị thiếu bằng cùng một giá trị
  • Thay thế các giá trị bị thiếu bằng các giá trị khác nhau cho mỗi cột
  • 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ột
  • 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
  • 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
    
    1
  • Cho
    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
    
    2

Sử dụng

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
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

  • gấu trúc. Nội suy NaN với nội suy[]

Để 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

  • gấu trúc. Xóa các giá trị bị thiếu [NaN] bằng dropna[]
  • gấu trúc. Phát hiện và đếm các giá trị bị thiếu [NaN] với hàm isnull[], isna[]

Lưu ý rằng không chỉ

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
5 [Không phải là số] mà cả
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
5 cũng được coi là giá trị bị thiếu trong pandas

  • Thiếu giá trị trong gấu trúc [nan, Không có, pd. không có]

Ví dụ: đọc tệp CSV có giá trị bị thiếu với

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
6

  • sample_pandas_normal_nan. csv

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
2

nguồ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

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
7 của
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
8, tất cả các giá trị bị thiếu sẽ được thay thế bằng giá trị

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

nguồn.

Lưu ý rằng kiểu dữ liệu

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
9 của một cột số bao gồm
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
5 là
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
81, vì vậy ngay cả khi bạn thay thế
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
5 bằng một số nguyên, kiểu dữ liệu vẫn là
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
81. Nếu bạn muốn chuyển đổi nó thành
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
84, hãy sử dụng
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
85

  • gấu trúc. Truyền DataFrame sang một loại dtype cụ thể với astype[]

Thay thế các giá trị bị thiếu bằng các giá trị khác nhau cho mỗi cột

Bằng cách chỉ định một từ điển

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
86 làm đối số đầu tiên
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
7 của
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
8, bạn có thể gán các giá trị khác nhau cho mỗi cột

Chỉ định một từ điển của

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
89. 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
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
70 không khớp với tên cột, nó sẽ bị bỏ qua

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

nguồn.

Bạn cũng có thể chỉ định

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
2. Các nhãn của
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
2 tương ứng với khóa của
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
86

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
8

nguồ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ột

Giá trị trung bình của mỗi cột có thể được tính bằng phương pháp

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
74.
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
2 được trả lại. ________ 05 bị loại trừ, nhưng kết quả cho một cột có tất cả các phần tử là ________ 05 là ________ 05

  • gấu trúc. Khung dữ liệu. có nghĩa là - gấu trúc 1. 4. 0 tài liệu

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
7

nguồn.

Nếu bạn chỉ định

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
2 này làm đối số đầu tiên
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
7 của
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
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

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
2

nguồn.

Tương tự, nếu bạn muốn thay thế các giá trị còn thiếu bằng trung vị, hãy sử dụng phương thức

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
22. 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ề

  • gấu trúc. Khung dữ liệu. trung bình — gấu trúc 1. 4. 0 tài liệu

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
4

nguồn.

Chế độ có thể thu được bằng phương pháp

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
23. Vì
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
23 trả về
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
6, hàng đầu tiên được truy xuất là
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
2 bởi
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
27 trong ví dụ này

  • gấu trúc. Khung dữ liệu. chế độ — gấu trúc 1. 4. 0 tài liệu

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

nguồn.

Trong các ví dụ này, không có vấn đề gì, nhưng các phương thức như

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
74 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 định

Trong

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
74, v.v., nếu đối số
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
40 được đặt thành
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
41, thì chỉ các cột số được xử lý. Lưu ý rằng các cột loại
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
42 được coi là
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
43 và
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
44 ngay cả khi
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
45

Liê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ố

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 của
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
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 theo

Nếu

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 được đặt thành
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
01 hoặc
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
02, 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
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
03 hoặc
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
04, được thay thế bằng các giá trị hợp lệ tiếp theo [= điền vào phía sau]

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
8

nguồn.

Nếu chỉ định

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, thì có thể sử dụng
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 để chỉ định số lần thay thế liên tiếp tối đa

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
1

nguồn.

Nó có thể không được sử dụng thường xuyên, nhưng nếu đối số

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
07 được đặt thành
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
08 hoặc
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
09, 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

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
0

nguồn.

Các phương thức tương ứng với đối số

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 được cung cấp riêng

  • gấu trúc. Khung dữ liệu. ffill — gấu trúc 1. 4. 0 tài liệu
  • gấu trúc. Khung dữ liệu. pad — gấu trúc 1. 4. 0 tài liệu
  • gấu trúc. Khung dữ liệu. bfill — gấu trúc 1. 4. 0 tài liệu
  • gấu trúc. Khung dữ liệu. chèn lấp — pandas 1. 4. 0 tài liệu

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
81 và
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
82 tương đương với ________ 683, n ________ 684 và ________ 685 tương đương với
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
86. Bạn có thể chỉ định
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

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
1

nguồ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
1

Như 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

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
89, đối tượng ban đầu sẽ được cập nhật

Làm cách nào để thay thế tất cả các giá trị NaN trong DataFrame của gấu trúc?

Sử dụng DataFrame. Bạn cũng có thể sử dụng df. thay[np. nan,0] để thay thế tất cả các giá trị NaN bằng 0. Điều này thay thế tất cả các cột của DataFrame bằng 0 cho các giá trị Nan.

Thay thế giá trị null bằng cái gì?

Các giá trị null có thể được thay thế trong SQL bằng cách sử dụng UPDATE, SET và WHERE để tìm kiếm một cột trong bảng để tìm các giá trị null và thay thế chúng. Trong ví dụ trên, nó thay thế chúng bằng 0. Làm sạch dữ liệu rất quan trọng đối với phân tích vì dữ liệu lộn xộn có thể dẫn đến phân tích không chính xác.

Làm cách nào để thay thế giá trị null trong gấu trúc bằng giá trị trung bình?

Bạn có thể sử dụng hàm fillna[] để thay thế các giá trị NaN trong DataFrame của gấu trúc.

Làm cách nào để thay thế null bằng NaN trong gấu trúc?

Sử dụng gấu trúc. Khung dữ liệu. fillna[] để thay thế các giá trị NaN/Null bằng một 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.

Chủ Đề