Làm cách nào tôi có thể thay thế giá trị NAN trong một mảng, bằng không nếu một thao tác được thực hiện sao cho kết quả thay vì giá trị NAN là các hoạt động bằng không
0/0 = nan có thể được thay thế bằng 0
Đã hỏi ngày 26 tháng 11 năm 2009 lúc 12:54Nov 26, 2009 at 12:54
Nếu bạn có Python 2.6, bạn có hàm math.isnan[]
để tìm các giá trị NaN
.
Với điều này, chúng tôi có thể sử dụng danh sách hiểu để thay thế các giá trị NaN
trong danh sách như sau:
import math
mylist = [0 if math.isnan[x] else x for x in mylist]
Nếu bạn có Python 2.5, chúng tôi có thể sử dụng thủ thuật NaN != NaN
từ câu hỏi này để bạn làm điều này:
mylist = [0 if x != x else x for x in mylist]
Đã trả lời ngày 26 tháng 11 năm 2009 lúc 13:10Nov 26, 2009 at 13:10
David Webbdavid WebbDavid Webb
187K57 Huy hiệu vàng308 Huy hiệu bạc298 Huy hiệu Đồng57 gold badges308 silver badges298 bronze badges
1
import numpy
a=numpy.array[[1,2,3,'NaN',4]]
s=numpy.isnan[a]
a[s]=0.0
dimo414
45,6K18 Huy hiệu vàng145 Huy hiệu bạc233 Huy hiệu Đồng18 gold badges145 silver badges233 bronze badges
Đã trả lời ngày 19 tháng 5 năm 2015 lúc 1:02May 19, 2015 at 1:02
SoonsyjoonsyjSoonSYJ
Huy hiệu vàng 1711 Huy hiệu bạc11 Huy hiệu đồng1 gold badge1 silver badge11 bronze badges
Ngoài ra còn có một giải pháp gấu trúc cho việc này.
import pandas as pd
mylist = [2.3, pd.NA, 1.1, 0.7]
mylist = [0 if pd.isna[x] else x for x in mylist]
Đã trả lời ngày 13 tháng 4 năm 2021 lúc 8:24Apr 13, 2021 at 8:24
Nhập khẩu Numpy
alpha = numpy.array [[1,2,3, numpy.nan, 4]]
n = numpy.nan_to_num [alpha]
print[n]
Đầu ra: Mảng [[1., 2., 3., 0., 4.]]
Đã trả lời ngày 19 tháng 5 lúc 6:35May 19 at 6:35
2
L2 = [Mục cho mục trong L1 IF & NBSP; str [[item] == nan nan]] Chúng tôi đã thảo luận về năm phương pháp đơn giản và dễ dàng để loại bỏ các giá trị của NAN NAN khỏi danh sách. Chúng tôi tin chắc rằng bài viết này khá dễ dàng và đơn giản để hiểu cho tất cả các loại người dùng. Nhập khẩu math từ Numpy nhập Nan numpy import nan L1 = [10, NAN, 20, NAN, 30, NAN, 40, NAN, 50]= [10, nan, 20, nan, 30, nan, 40, nan,
50] print[L1][L1] L2 = [Mục cho mục trong L1 ifnot [math.isnan [item] == false]= [item for item in L1 if not[math.isnan[item] = = False] print[L2][L2]Nó cũng cho thấy đầu ra giống như trong phương pháp thứ 4.
Đầu ra hiển thị danh sách đầu tiên với các giá trị của NAN NAN và danh sách thứ hai chỉ với các giá trị số nguyên.
Phương pháp 02: Hàm isnan [] của mô -đun numpy
Có, bạn cũng có thể sử dụng chức năng mô -đun isnan isnan để loại bỏ NAN NAN khỏi danh sách bằng cách sử dụng đối tượng mô -đun Numpy. Đầu tiên, nhập mô -đun Numpy cùng với đối tượng của nó và cũng nhập vào NAN NAN từ nó. Một mảng đã được xác định với một số giá trị số nguyên và NAN. Mảng này đã được lưu vào một biến số ARR1, bởi một đối tượng vô cùng và được in ra. Đối tượng của mô -đun Numpy đang sử dụng hàm của isnan [] để loại bỏ các giá trị của NAN NAN khỏi các ARR1. Một danh sách mới, ARR2 sẽ được in ra một lần nữa.
Nhập khẩu NUMPY dưới dạng NPas np
từ Numpy nhập Nan numpy import nan
L1 = [10, NAN, 20, NAN, 30, NAN, 40, NAN, 50]= np.array[[nan, 88, nan, 36, nan, 49, nan]
print[Arr1][Arr1]
L2 = [Mục cho mục trong L1 ifnot [math.isnan [item] == false]= Arr1 [ np.logica_not 9np.insan[Arr1]]]
print[Arr2][Arr2]
Đầu ra hiển thị danh sách đầu tiên với các giá trị của NAN NAN và danh sách thứ hai chỉ với các giá trị số nguyên.
Phương pháp 02: Hàm isnan [] của mô -đun numpy
Có, bạn cũng có thể sử dụng chức năng mô -đun isnan isnan để loại bỏ NAN NAN khỏi danh sách bằng cách sử dụng đối tượng mô -đun Numpy. Đầu tiên, nhập mô -đun Numpy cùng với đối tượng của nó và cũng nhập vào NAN NAN từ nó. Một mảng đã được xác định với một số giá trị số nguyên và NAN. Mảng này đã được lưu vào một biến số ARR1, bởi một đối tượng vô cùng và được in ra. Đối tượng của mô -đun Numpy đang sử dụng hàm của isnan [] để loại bỏ các giá trị của NAN NAN khỏi các ARR1. Một danh sách mới, ARR2 sẽ được in ra một lần nữa.
Nhập khẩu NUMPY dưới dạng NP pandas as pd
từ Numpy nhập Nan numpy import nan
ARR1 = np.array [[Nan, 88, Nan, 36, Nan, 49, Nan]= [‘John’, nan, ‘marry’, nan, ‘william’, nan, nan, ‘fredick’ ]
print[L1][L1]
ARR2 = ARR1 [np.logica_not 9np.insan [ARR1]]]]= [item for item in L1 if not[pd.isnull[item] = = True]
print[L2][L2]
Chúng tôi đã có danh sách ban đầu và bản cập nhật.
Phương pháp 03: hàm isnull [] của mô -đun pandas
Chức năng của isnull [] của gói Panda cũng có thể được sử dụng cho mục đích này. Vì vậy, nhập các gấu trúc và thư viện numpy. Sau đó, chúng tôi đã xác định một danh sách với một số giá trị chuỗi và NAN và in nó. Đã sử dụng hàm isnull [] thông qua đối tượng panda với cùng một cú pháp theo sau trong ví dụ trên. Một danh sách mới không có NAN sẽ được lưu và in ra.
từ Numpy nhập Nan numpy import nan
ARR1 = np.array [[Nan, 88, Nan, 36, Nan, 49, Nan]= [‘John’, nan, ‘marry’, nan, ‘william’, nan, nan, ‘fredick’ ]
print[L1][L1]
ARR2 = ARR1 [np.logica_not 9np.insan [ARR1]]]]=[ ]
Chúng tôi đã có danh sách ban đầu và bản cập nhật.in L1
Phương pháp 03: hàm isnull [] của mô -đun pandasstr[i] != ‘nan’
Chức năng của isnull [] của gói Panda cũng có thể được sử dụng cho mục đích này. Vì vậy, nhập các gấu trúc và thư viện numpy. Sau đó, chúng tôi đã xác định một danh sách với một số giá trị chuỗi và NAN và in nó. Đã sử dụng hàm isnull [] thông qua đối tượng panda với cùng một cú pháp theo sau trong ví dụ trên. Một danh sách mới không có NAN sẽ được lưu và in ra.append[i]
print[L2][L2]
nhập khẩu gấu trúc dưới dạng PD
L1 = [‘John, Nan,‘ kết hôn, Nan, ‘William, Nan, Nan,‘ Fredick,]
L2 = [Mục cho mục trong L1 IF & NBSP; không [pd.isnull [item] == true]
từ Numpy nhập Nan numpy import nan
ARR1 = np.array [[Nan, 88, Nan, 36, Nan, 49, Nan]= [‘John’, nan, ‘marry’, nan, ‘william’, nan, nan, ‘fredick’ ]
print[L1][L1]
ARR2 = ARR1 [np.logica_not 9np.insan [ARR1]]]]= [item for item in L1 if str[ [item] = = ‘nan’]
print[L2][L2]
Chúng tôi đã có danh sách ban đầu và bản cập nhật.
Conclusion:
Phương pháp 03: hàm isnull [] của mô -đun pandas
Chức năng của isnull [] của gói Panda cũng có thể được sử dụng cho mục đích này. Vì vậy, nhập các gấu trúc và thư viện numpy. Sau đó, chúng tôi đã xác định một danh sách với một số giá trị chuỗi và NAN và in nó. Đã sử dụng hàm isnull [] thông qua đối tượng panda với cùng một cú pháp theo sau trong ví dụ trên. Một danh sách mới không có NAN sẽ được lưu và in ra.
nhập khẩu gấu trúc dưới dạng PD