Isna bất kỳ trong python
Xin chào độc giả. Trong bài viết này, chúng ta sẽ tập trung vào các hàm Python isna() và Python notna() một cách chi tiết. Vì vậy, chúng ta hãy bắt đầu Show
Trong lĩnh vực khoa học dữ liệu và học máy, phân tích và tiền xử lý dữ liệu đóng một vai trò rất quan trọng. Trong toàn bộ quá trình tiền xử lý dữ liệu, phân tích giá trị còn thiếu là một bước quan trọng đối với sự phát triển. Bằng cách phân tích giá trị bị thiếu, chúng tôi muốn nói quá trình phát hiện và loại bỏ các giá trị bị thiếu hoặc NA khỏi dữ liệu nguồn Tương tự, có nhiều cách để phát hiện sự hiện diện của các giá trị bị thiếu trong tập dữ liệu. Hôm nay, chúng ta sẽ xem xét hai chức năng dễ sử dụng để phát hiện sự hiện diện của các giá trị bị thiếu–
Trong quá trình thực hiện chủ đề này, chúng tôi sẽ sử dụng bộ dữ liệu Dự đoán cho thuê xe đạp. Bạn có thể tìm thấy tập dữ liệu ở đây. Bây giờ chúng ta hãy xem xét từng cái một trong phần bên dưới 1. Hàm isna() trong PythonVới hàm isna() trong Python, chúng ta có thể dễ dàng phát hiện sự có mặt của giá trị NULL hoặc NA i. e. các giá trị còn thiếu trong tập dữ liệu. Đây là một hàm boolean tìm kiếm các giá trị bị thiếu và trả về TRUE khi nó phát hiện một giá trị bị thiếu Hãy xem cú pháp dưới đây dataframe.isna() Thí dụ Trong ví dụ này, chúng tôi đã sử dụng hàm isna() để kiểm tra sự hiện diện của các giá trị bị thiếu. Vì, dữ liệu không có các giá trị bị thiếu, nên nó trả về FALSE import pandas import os #Changing the current working directory os.chdir("D:/Ediwsor_Project - Bike_Rental_Count") BIKE = pandas.read_csv("day.csv") BIKE.isna() đầu ra 2. Hàm notna() trong PythonVới hàm notna() trong Python, chúng ta có thể dễ dàng chọn ra những dữ liệu không chiếm giá trị thiếu hoặc giá trị NA. Hàm notna() trả về TRUE, nếu dữ liệu không có giá trị bị thiếu, ngược lại, nó trả về FALSE (nếu gặp giá trị NA) cú pháp dataframe.notna() Thí dụ Như đã chứng kiến ở trên, tập dữ liệu không có giá trị NA. Do đó, hàm notna() trả về TRUE import pandas import os #Changing the current working directory os.chdir("D:/Ediwsor_Project - Bike_Rental_Count") BIKE = pandas.read_csv("day.csv") BIKE.notna() đầu ra Phần kết luậnVui lòng bình luận bên dưới nếu bạn gặp bất kỳ câu hỏi nào. Tóm lại, với các hàm isna() và notna() của Python, chúng ta có thể nhanh chóng kiểm tra sự hiện diện của các giá trị bị thiếu, đặc biệt là với các bộ dữ liệu khổng lồ. Và chúng ta có thể dễ dàng lập kế hoạch khắc phục cần thiết để xử lý các giá trị còn thiếu Để biết thêm các bài viết như vậy liên quan đến Lập trình Python, hãy theo dõi chúng tôi. Cho đến lúc đó, học tập vui vẻ. 🙂 Tôi sẽ mô tả chức năng của kỹ thuật này, giải thích cú pháp và tôi sẽ chỉ cho bạn các ví dụ rõ ràng về cách sử dụng nó Nếu bạn cần tìm hiểu điều gì đó cụ thể, chỉ cần nhấp vào một trong các liên kết này Mục lục Hãy bắt đầu với phần giới thiệu nhanh về kỹ thuật import pandas as pd import numpy as np1 Giới thiệu nhanh về Pandas isnaPhương thức isna của Pandas phát hiện các giá trị bị thiếu trong khung dữ liệu Python hoặc Sê-ri Pandas Như đã đề xuất ở trên, chúng ta có thể sử dụng Pandas isna trên một số cấu trúc dữ liệu khác nhau, bao gồm
Vì vậy, theo nghĩa đó, phương pháp này linh hoạt về cách chúng ta sử dụng nó Pandas isna rất quan trọng đối với việc sắp xếp dữ liệu PythonPhương thức isna rất quan trọng đối với việc sắp xếp dữ liệu trong Python Xử lý các giá trị bị thiếu là một vấn đề rất phổ biến khi chúng ta sắp xếp dữ liệu, cũng như khi chúng ta phân tích dữ liệu hoặc tạo mô hình máy học Trên thực tế, tìm và xử lý các giá trị bị thiếu là một trong những điều đầu tiên bạn sẽ làm khi sắp xếp hoặc phân tích tập dữ liệu Trong trường hợp đó, bạn cần một cách để xác định các giá trị còn thiếu khi làm việc với dữ liệu Python của mình Nhập, Pandas isna Cú pháp của isnaHãy xem cú pháp của kỹ thuật import pandas as pd import numpy as np1 Ở đây, chúng ta sẽ xem xét riêng cú pháp cho các cấu trúc dữ liệu Python sau
Lý do là cú pháp của Pandas isna sẽ hơi khác đối với từng loại đối tượng Một lưu ý nhanhTrước khi xem cú pháp, tôi muốn nhắc bạn một vài điều Đầu tiên, các giải thích cú pháp bên dưới giả định rằng bạn đã cài đặt Pandas và nhập nó vào môi trường của mình Giả sử rằng bạn đã cài đặt nó trên máy tính của mình, bạn có thể nhập Pandas bằng mã này import pandas as pd Thứ hai, các giải thích cú pháp bên dưới giả định rằng bạn có sẵn khung dữ liệu Pandas hoặc đối tượng Pandas Series Để tìm hiểu thêm về khung dữ liệu Pandas, hãy đọc hướng dẫn về khung dữ liệu Pandas của chúng tôi Với tất cả những gì đã nói, hãy xem cú pháp Cú pháp sê-riTrước tiên, chúng ta sẽ xem xét cú pháp về cách sử dụng import pandas as pd import numpy as np1 trên Chuỗi Pandas đơn độc Khi bạn sử dụng isna trên Sê-ri, trước tiên bạn chỉ cần nhập tên của đối tượng Sê-ri (i. e. , tên mà bạn đã gán cho nó) Sau đó, bạn chỉ cần gõ import pandas as pd import numpy as np4 để gọi phương thức, giống như cách bạn gọi bất kỳ phương thức nào khác trên Python Thats tất cả để có nó Khi bạn thực hiện việc này, phương thức sẽ tạo ra một Chuỗi giá trị boolean Đúng/Sai mới, sẽ hiển thị giá trị nào bị thiếu trong Chuỗi ban đầu cú pháp khung dữ liệuTiếp theo, hãy xem cách sử dụng isna trên khung dữ liệu Cú pháp cho các khung dữ liệu này rất giống với cú pháp ở trên cho Pandas Series Trước tiên, bạn chỉ cần nhập tên của khung dữ liệu bạn muốn thao tác trên đó Sau đó, bạn gõ import pandas as pd import numpy as np4 để gọi phương thức Vì vậy, nếu khung dữ liệu của bạn được đặt tên là import pandas as pd import numpy as np6, bạn sẽ nhập mã import pandas as pd import numpy as np7 Đầu ra của thao tác này sẽ là một đối tượng có cùng kích thước với khung dữ liệu đầu vào của bạn. Đầu ra này sẽ chứa các giá trị Đúng/Sai cho biết giá trị khung dữ liệu nào bị thiếu trong bản gốc cú pháp cộtCuối cùng, chúng ta sẽ xem xét cú pháp về cách sử dụng Pandas isna trên một cột của khung dữ liệu Điều quan trọng cần nhớ ở đây là các cột riêng lẻ bên trong khung dữ liệu thực sự là các đối tượng chuỗi Pandas. Vì vậy, nếu chúng tôi truy xuất một cột bằng "cú pháp dấu chấm", thì chúng tôi có thể sử dụng cú pháp trên cho Pandas Series Hãy xem cách thức hoạt động của nó Trước tiên, bạn có thể nhập tên của khung dữ liệu Sau đó, bạn sử dụng “cú pháp dấu chấm” để chỉ định cột riêng lẻ bên trong khung dữ liệu mà bạn muốn thao tác trên đó Vì vậy, việc áp dụng Pandas import pandas as pd import numpy as np4 vào cột khung dữ liệu bao gồm hai bước
Vì vậy, ví dụ: nếu bạn có một khung dữ liệu có tên là import pandas as pd import numpy as np6 chứa một cột có tên là sales_data = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward","Thomas","Ethan","Olivia","Arun","Anika","Paulo"] ,"region":["East",np.nan,"East","South","West","West","South","West","West","East","South"] ,"sales":[50000,52000,90000,np.nan,42000,72000,49000,np.nan,67000,65000,67000] ,"expenses":[42000,43000,np.nan,44000,38000,39000,42000,np.nan,39000,44000,45000]})1, thì bạn sẽ sử dụng cú pháp sales_data = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward","Thomas","Ethan","Olivia","Arun","Anika","Paulo"] ,"region":["East",np.nan,"East","South","West","West","South","West","West","East","South"] ,"sales":[50000,52000,90000,np.nan,42000,72000,49000,np.nan,67000,65000,67000] ,"expenses":[42000,43000,np.nan,44000,38000,39000,42000,np.nan,39000,44000,45000]})2 để tìm các giá trị còn thiếu trong cột cụ thể đó Đầu ra (ghi chú thêm)Rất nhanh, hãy nói về cấu trúc và nội dung của đầu ra Như tôi đã đề cập ở trên, đầu ra của import pandas as pd import numpy as np4 là một đối tượng Pandas mới có cùng kích thước với đối tượng đầu vào Đối tượng mới này sẽ chứa các giá trị Đúng/Sai cho biết giá trị nào bị thiếu ( sales_data = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward","Thomas","Ethan","Olivia","Arun","Anika","Paulo"] ,"region":["East",np.nan,"East","South","West","West","South","West","West","East","South"] ,"sales":[50000,52000,90000,np.nan,42000,72000,49000,np.nan,67000,65000,67000] ,"expenses":[42000,43000,np.nan,44000,38000,39000,42000,np.nan,39000,44000,45000]})4 có nghĩa là thiếu) Các loại giá trị mà import pandas as pd import numpy as np4 sẽ coi là "thiếu" là
Vì vậy, các chuỗi rỗng (i. e. , sales_data = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward","Thomas","Ethan","Olivia","Arun","Anika","Paulo"] ,"region":["East",np.nan,"East","South","West","West","South","West","West","East","South"] ,"sales":[50000,52000,90000,np.nan,42000,72000,49000,np.nan,67000,65000,67000] ,"expenses":[42000,43000,np.nan,44000,38000,39000,42000,np.nan,39000,44000,45000]})8) hoặc sales_data = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward","Thomas","Ethan","Olivia","Arun","Anika","Paulo"] ,"region":["East",np.nan,"East","South","West","West","South","West","West","East","South"] ,"sales":[50000,52000,90000,np.nan,42000,72000,49000,np.nan,67000,65000,67000] ,"expenses":[42000,43000,np.nan,44000,38000,39000,42000,np.nan,39000,44000,45000]})9, sẽ không được tính là giá trị thiếu; ví dụ. cách phát hiện các giá trị bị thiếu trong PythonBây giờ chúng ta đã xem xong cú pháp, hãy xem một số ví dụ về Pandas print(sales_data)2 ví dụ Chạy mã này trướcTrước khi chúng tôi chạy các ví dụ này, có một chút thiết lập sơ bộ mà bạn sẽ cần chạy Cụ thể, bạn sẽ cần phải
Hãy làm từng cái một tải gấu trúcĐầu tiên, chúng ta cần nhập Pandas và Numpy import pandas as pd import numpy as np Chúng tôi sẽ sử dụng Pandas để tạo khung dữ liệu và chúng tôi sẽ sử dụng Numpy để tạo các giá trị còn thiếu bên trong khung dữ liệu đó bằng cách sử dụng print(sales_data)3 Tạo một khung dữ liệuTiếp theo, chúng ta cần tạo một khung dữ liệu mà chúng ta có thể làm việc với Ở đây, chúng tôi sẽ tạo một khung dữ liệu chứa dữ liệu bán hàng giả sales_data = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward","Thomas","Ethan","Olivia","Arun","Anika","Paulo"] ,"region":["East",np.nan,"East","South","West","West","South","West","West","East","South"] ,"sales":[50000,52000,90000,np.nan,42000,72000,49000,np.nan,67000,65000,67000] ,"expenses":[42000,43000,np.nan,44000,38000,39000,42000,np.nan,39000,44000,45000]}) Hãy in khung dữ liệu để xem nội dung của nó print(sales_data) NGOÀI name region sales expenses 0 William East 50000.0 42000.0 1 Emma NaN 52000.0 43000.0 2 Sofia East 90000.0 NaN 3 Markus South NaN 44000.0 4 Edward West 42000.0 38000.0 5 Thomas West 72000.0 39000.0 6 Ethan South 49000.0 42000.0 7 Olivia West NaN NaN 8 Arun West 67000.0 39000.0 9 Anika East 65000.0 44000.0 10 Paulo South 67000.0 45000.0 Khung dữ liệu này, print(sales_data)4, có bốn biến. Hai trong số các biến chứa dữ liệu ký tự và hai trong số các biến chứa dữ liệu số Quan trọng là bạn sẽ nhận thấy rằng một số giá trị bị thiếu (i. e. , print(sales_data)5) Chúng tôi sẽ sử dụng import pandas as pd import numpy as np4 để phát hiện những giá trị còn thiếu đó VÍ DỤ 1. Xác định các giá trị còn thiếu trong cột khung dữ liệuTrước tiên, chúng tôi sẽ xác định các giá trị còn thiếu trong một cột cụ thể Chúng tôi sẽ xác định các giá trị còn thiếu trong cột print(sales_data)7 của khung dữ liệu sales_data.sales.isna() NGOÀI 0 False 1 False 2 False 3 True 4 False 5 False 6 False 7 True 8 False 9 False 10 False Giải trìnhỞ đây, chúng tôi đã xác định các giá trị còn thiếu trong cột print(sales_data)7 của khung dữ liệu print(sales_data)4 Điều này bao gồm 2 bước
Vì vậy, name region sales expenses 0 William East 50000.0 42000.0 1 Emma NaN 52000.0 43000.0 2 Sofia East 90000.0 NaN 3 Markus South NaN 44000.0 4 Edward West 42000.0 38000.0 5 Thomas West 72000.0 39000.0 6 Ethan South 49000.0 42000.0 7 Olivia West NaN NaN 8 Arun West 67000.0 39000.0 9 Anika East 65000.0 44000.0 10 Paulo South 67000.0 45000.02 đã lấy cột print(sales_data)7 từ khung dữ liệu Và, cú pháp import pandas as pd import numpy as np4 đã xác định các giá trị còn thiếu Lưu ý rằng đầu ra của mã này là một đối tượng mới có hình dạng giống như cột print(sales_data)7. Cũng lưu ý rằng nếu giá trị bị thiếu trong cột print(sales_data)7, kết quả sẽ hiển thị sales_data = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward","Thomas","Ethan","Olivia","Arun","Anika","Paulo"] ,"region":["East",np.nan,"East","South","West","West","South","West","West","East","South"] ,"sales":[50000,52000,90000,np.nan,42000,72000,49000,np.nan,67000,65000,67000] ,"expenses":[42000,43000,np.nan,44000,38000,39000,42000,np.nan,39000,44000,45000]})4. Nếu không, đầu ra hiển thị print(sales_data)1 VÍ DỤ 2. Xác định các giá trị còn thiếu trong toàn bộ khung dữ liệuTiếp theo, chúng ta sẽ tìm các giá trị còn thiếu trong toàn bộ khung dữ liệu Để thực hiện việc này, chúng tôi sẽ nhập tên của khung dữ liệu, sau đó gọi import pandas as pd import numpy as np4 sales_data.isna() NGOÀI name region sales expenses 0 False False False False 1 False True False False 2 False False False True 3 False False True False 4 False False False False 5 False False False False 6 False False False False 7 False False True True 8 False False False False 9 False False False False 10 False False False False Giải trìnhĐiều này nên dễ hiểu Ở đây, chúng tôi đã gọi phương thức import pandas as pd import numpy as np4 trên toàn bộ khung dữ liệu print(sales_data)7 Để làm điều này, chúng tôi chỉ cần nhập tên của khung dữ liệu, sau đó nhập import pandas as pd import numpy as np4 để gọi phương thức Ở đầu ra, bạn sẽ nhận thấy các giá trị boolean True/False cho mọi giá trị của đầu vào. Đầu ra hiển thị sales_data = pd.DataFrame({"name":["William","Emma","Sofia","Markus","Edward","Thomas","Ethan","Olivia","Arun","Anika","Paulo"] ,"region":["East",np.nan,"East","South","West","West","South","West","West","East","South"] ,"sales":[50000,52000,90000,np.nan,42000,72000,49000,np.nan,67000,65000,67000] ,"expenses":[42000,43000,np.nan,44000,38000,39000,42000,np.nan,39000,44000,45000]})4 trong đó giá trị bị thiếu trong khung dữ liệu print(sales_data)7 và đầu ra hiển thị print(sales_data)1 nếu không VÍ DỤ 3. Đếm các giá trị còn thiếu trong mỗi cột của khung dữ liệuCuối cùng, hãy đếm các giá trị còn thiếu trong mỗi cột của khung dữ liệu của chúng tôi Để thực hiện điều này, chúng tôi sẽ sử dụng hai phương pháp Pandas
Chúng tôi sẽ sử dụng isna để xác định các giá trị còn thiếu và chúng tôi sẽ sử dụng Pandas sum để đếm chúng (sales_data .isna() .sum() ) NGOÀI import pandas as pd import numpy as np0 Giải trìnhXem kỹ đầu ra. Đầu ra hiển thị số lượng các giá trị còn thiếu cho mỗi cột của khung dữ liệu đầu vào Để thực hiện điều này, chúng ta cần gọi hai phương thức Pandas, lần lượt từng phương thức Đầu tiên, chúng tôi gọi phương pháp import pandas as pd import numpy as np4, phương pháp xác định các giá trị còn thiếu Sau đó, chúng tôi gọi sales_data.sales.isna()7 để đếm chúng Ngoài ra, lưu ý rằng chúng tôi đã sử dụng một thủ thuật cú pháp đặc biệt. Chúng tôi đã đặt toàn bộ chuỗi phương thức bên trong dấu ngoặc đơn. Và, chúng tôi đặt các phương pháp khác nhau trên các dòng khác nhau Đôi khi tôi gọi điều này là , mặc dù hãy nhớ rằng bạn có thể sử dụng điều này cho hầu hết mọi loại phương thức Python Đây là một kỹ thuật hơi khác thường, nhưng cực kỳ hiệu quả khi bạn thực hiện sắp xếp dữ liệu hoặc phân tích dữ liệu. Nếu bạn biết cách sử dụng kỹ thuật này đúng cách, bạn có thể xâu chuỗi nhiều phương thức lại với nhau (nhiều hơn 2) để thực hiện các thao tác dữ liệu phức tạp. Nó cũng giúp đọc và gỡ lỗi mã của bạn dễ dàng hơn Đây là một trong những bí mật để thành thạo Pandas và bạn thực sự nên học nó Câu hỏi thường gặp về Pandas isnaBây giờ bạn đã tìm hiểu về Pandas isna và xem một số ví dụ, hãy xem lại một số câu hỏi thường gặp về phương pháp này Các câu hỏi thường gặp Câu hỏi 1. Sự khác biệt giữa Pandas isna và isnull là gì?Về cơ bản, không có sự khác biệt Pandas isna và Pandas isnull làm điều tương tự và hoạt động theo cùng một cách Pandas sales_data.sales.isna()8 thực sự chỉ là bí danh của Pandas import pandas as pd import numpy as np4 Tôi khuyên bạn chỉ nên chọn một trong hai phiên bản và sử dụng nó một cách nhất quán trong mã của bạn Để lại câu hỏi khác của bạn trong các ý kiến dưới đâyBạn có câu hỏi nào khác về kỹ thuật Pandas isna không? Có điều gì mà tôi chưa trình bày ở đây mà bạn cần trợ giúp không? Nếu vậy, hãy để lại câu hỏi của bạn trong phần bình luận bên dưới Để tìm hiểu thêm về Pandas, hãy đăng ký danh sách email của chúng tôiHướng dẫn này lẽ ra đã cung cấp cho bạn phần giới thiệu tốt về kỹ thuật Pandas isna, nhưng nếu bạn thực sự muốn thành thạo việc sắp xếp dữ liệu của Pandas, thì bạn sẽ cần tìm hiểu thêm nhiều điều nữa Vì vậy, nếu bạn muốn tìm hiểu thêm về sắp xếp dữ liệu Python và tìm hiểu thêm về khoa học dữ liệu Python nói chung, thì hãy đăng ký nhận bản tin email của chúng tôi Có phải NaN == Không có gấu trúc?Chuỗi số
. Điều này là do Pandas tự động chuyển đổi Không có thành NaN với giá trị khác ( 3 ) là một số, sau đó cho phép loại cột là float64. The resulting Series contains a NaN instead of None . This is because Pandas automatically converted None to NaN given that the other value ( 3 ) is a numeric, which then allows the column type to be float64 .
ISNA và Isnull có giống nhau không?isnull là bí danh cho DataFrame. isna . Phát hiện các giá trị còn thiếu.
* NaN * có nghĩa là gì trong gấu trúc?NaN có nghĩa là thiếu dữ liệu
. Lưu ý rằng np. nan không bằng Python Không có. |