Thay thế NaN bằng Không trăn
Khung dữ liệu. fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None, **kwargs) Show
Thông số.
Để có liên kết đến tệp CSV Được sử dụng trong Mã, hãy nhấp vào đây. Ví dụ 1. Thay thế các giá trị NaN bằng một giá trị Tĩnh. Trước khi thay thế.
00tải mô-đun Pandas 01tải mô-đun Numpy cho Python 02mẫu dữ liệu chính tả để tạo khung dữ liệu từ 03tạo đối tượng Pandas DataFrame 04tìm kiếm giá trị đã cho và thay thế bằng giá trị được chỉ định 05giá trị cần tìm 06giá trị để thay thế thành Trong gấu trúc, một giá trị bị thiếu (NA. không có sẵn) chủ yếu được đại diện bởi 5 (không phải là số). 6 cũng được coi là một giá trị còn thiếu
Bài viết này mô tả các nội dung sau
Liên kết được tài trợ Thiếu giá trị do đọc tệp, v.v.Nếu bạn đọc một tệp CSV có các giá trị bị thiếu, thì 5 sẽ được tạo. Trong đầu ra 2 của 3 và 4, nó được viết là 5
2nguồn. Có thể sử dụng các phương pháp như 6, 7 và 8 để phát hiện, loại bỏ và thay thế các giá trị bị thiếu
nguồn. 5 trong cột có 80 là loại 81 được tích hợp sẵn trong Python và 5 trong cột có 83 là loại 84 của NumPy. Cả hai đều được coi là giá trị còn thiếu
nguồn. Ngoài việc đọc tệp, 5 được sử dụng để biểu thị giá trị bị thiếu nếu phần tử không tồn tại khi gọi các phương thức như 86, 87, v.v.
print(df.isnull()) # name age state point other # 0 False False False True True # 1 True True True True True # 2 False True False True True print(df.dropna(how='all')) # name age state point other # 0 Alice 24.0 NY NaN NaN # 2 Charlie NaN CA NaN NaN 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 5 (không phải số) được coi là giá trị còn thiếuTrong Python, bạn có thể tạo 5 bằng 90, 91 hoặc 92. 5 được coi là một giá trị còn thiếu trong gấu trúc
8nguồn. print(df.isnull()) # name age state point other # 0 False False False True True # 1 True True True True True # 2 False True False True True print(df.dropna(how='all')) # name age state point other # 0 Alice 24.0 NY NaN NaN # 2 Charlie NaN CA NaN NaN 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 6 cũng được coi là một giá trị còn thiếuỞ gấu trúc, 6 cũng được coi là một giá trị bị thiếu. 6 là hằng số tích hợp sẵn trong Python 9nguồn. Đối với các cột số, 6 được chuyển đổi thành 5 khi một 99 hoặc 4 chứa 6 được tạo hoặc 6 được gán cho một phần tử 4nguồn. Vì 5 là số dấu phẩy động 81, nếu 6 được chuyển đổi thành 5, kiểu dữ liệu 47 của cột được đổi thành 81, ngay cả khi các giá trị khác là số nguyên 49 2nguồn. Mặc dù 6 trong cột 80 vẫn là 6 nhưng nó được phát hiện là một giá trị bị thiếu bởi 6. Tất nhiên, nó cũng được xử lý bằng các phương pháp như 7 và 8 9nguồn. Liên kết được tài trợ Chuỗi không được coi là giá trị bị thiếuCác chuỗi 26 và 27 không thể phân biệt trên màn hình, nhưng không được coi là giá trị bị thiếu. Chuỗi trống 28 cũng không được coi là giá trị bị thiếu 3nguồn. Nếu bạn muốn coi giá trị đó là giá trị còn thiếu, bạn có thể sử dụng phương thức 29 để thay thế bằng phương pháp 90, 92 và 91
8nguồn. Lưu ý rằng các chức năng để đọc các tệp như 93 xem xét 28, 26, 96, v.v. , như các giá trị bị thiếu theo mặc định và thay thế chúng bằng 5
Infinity print(df.isnull()) # name age state point other # 0 False False False True True # 1 True True True True True # 2 False True False True True print(df.dropna(how='all')) # name age state point other # 0 Alice 24.0 NY NaN NaN # 2 Charlie NaN CA NaN NaN 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 9 không được coi là giá trị bị thiếu theo mặc địnhInfinity 9 không được coi là giá trị bị thiếu theo mặc định 0nguồn. Nếu 30 được đặt thành 31, thì 9 trong 3 và 4 được chuyển đổi thành 5 và được coi là giá trị bị thiếu. Không giống như 6, 9 trong cột 80 cũng được chuyển đổi thành 5 1nguồn. Xem bài viết sau về cách đặt tùy chọn trong pandas
print(df.dtypes)
# name object
# age float64
# state object
# point float64
# other float64
# dtype: object
print(df.at[1, 'name'])
# nan
print(type(df.at[1, 'name']))
# |