Làm cách nào để đếm các giá trị null trong một cột trong gấu trúc?

Trong bài đăng này, chúng ta sẽ xem làm cách nào chúng ta có thể nhận được số lượng giá trị bị thiếu trong mỗi cột của khung dữ liệu Pandas. Xử lý các giá trị bị thiếu là một trong những nhiệm vụ phổ biến khi thực hiện phân tích dữ liệu với dữ liệu thực. Hiểu nhanh về số lượng giá trị còn thiếu sẽ giúp quyết định bước tiếp theo của phân tích

Chúng tôi sẽ sử dụng hàm isna[] của Pandas để tìm xem một phần tử trong khung dữ liệu Pandas có bị thiếu giá trị hay không và sau đó sử dụng kết quả để nhận số lượng giá trị bị thiếu trong khung dữ liệu

Trước tiên chúng ta hãy tải các thư viện cần thiết

import pandas as pd
import seaborn as sns

Chúng tôi sẽ sử dụng dữ liệu Palmer Penguins để đếm các giá trị còn thiếu trong mỗi cột. Phiên bản mới nhất của Seaborn có bộ dữ liệu chim cánh cụt Palmer và chúng tôi sẽ sử dụng bộ dữ liệu đó

penguins = sns.load_dataset["penguins"]

Đây là cách dữ liệu Penguins trông như thế nào và chúng ta có thể thấy một số giá trị bị thiếu được biểu thị dưới dạng NaN trong khung dữ liệu

penguins.head[]

	species	island	bill_length_mm	bill_depth_mm	flipper_length_mm	body_mass_g	sex
0	Adelie	Torgersen	39.1	18.7	181.0	3750.0	Male
1	Adelie	Torgersen	39.5	17.4	186.0	3800.0	Female
2	Adelie	Torgersen	40.3	18.0	195.0	3250.0	Female
3	Adelie	Torgersen	NaN	NaN	NaN	NaN	NaN
4	Adelie	Torgersen	36.7	19.3	193.0	3450.0	Female

Chúng ta có thể sử dụng hàm Pandas isna[] để tìm xem mỗi phần tử của khung dữ liệu có thiếu giá trị hay không

penguins.isna[]

Khi được áp dụng cho một khung dữ liệu, hàm Pandas isna[] trả về khung dữ liệu boolean với True với phần tử bị thiếu giá trị và Sai khi nó không phải là giá trị bị thiếu

	species	island	bill_length_mm	bill_depth_mm	flipper_length_mm	body_mass_g	sex
0	False	False	False	False	False	False	False
1	False	False	False	False	False	False	False
2	False	False	False	False	False	False	False
3	False	False	True	True	True	True	True
4	False	False	False	False	False	False	False

Chúng ta có thể sử dụng hàm sum[] của Pandas để lấy số lượng giá trị bị thiếu trên mỗi cột trong khung dữ liệu

penguins.isna[].sum[]

Theo mặc định, Pandas sum[] thêm vào các cột. Và chúng tôi nhận được một khung dữ liệu với số lượng giá trị bị thiếu cho mỗi cột

species               0
island                0
bill_length_mm        2
bill_depth_mm         2
flipper_length_mm     2
body_mass_g           2
sex                  11
dtype: int64

Khi bạn có khung dữ liệu lớn hơn, chúng ta có thể nhanh chóng tạo biểu đồ thanh bằng cách sử dụng biểu đồ của Pandas. hàm bar để hiểu các giá trị bị thiếu. Chúng tôi sử dụng toán tử dấu chấm để xâu chuỗi các kết quả của isna[]. sum[] thành reset_index[] để đặt tên cho cột kết quả và sử dụng biểu đồ. thanh để tạo biểu đồ thanh nhanh

Nhiều lần chúng tôi tạo DataFrame từ tập dữ liệu hiện có và nó có thể chứa một số giá trị bị thiếu trong bất kỳ cột hoặc hàng nào. Đối với mỗi giá trị còn thiếu, Pandas thêm NaN vào vị trí của nó

Hãy tạo một khung dữ liệu với các giá trị bị thiếu i. e

# List of Tuples
    students = [ ['jack', np.NaN, 'Sydeny' , 'Australia'] ,
                 ['Riti', np.NaN, 'Delhi' , 'India' ] ,
                 ['Vikas', 31, np.NaN , 'India' ] ,
                 ['Neelu', 32, 'Bangalore' , 'India' ] ,
                 ['John', 16, 'New York' , 'US'] ,
                 ['John' , 11, np.NaN, np.NaN ] ,
                [np.NaN , np.NaN, np.NaN, np.NaN ] 
                 ]
    
    #Create a DataFrame object
    dfObj = pd.DataFrame[students, columns = ['Name' , 'Age', 'City' , 'Country']]

Nội dung của khung dữ liệu là,
    Name  Age       City    Country
0   jack  NaN     Sydeny  Australia
1   Riti  NaN      Delhi      India
2  Vikas   31        NaN      India
3  Neelu   32  Bangalore      India
4   John   16   New York         US
5   John   11        NaN        NaN
6    NaN  NaN        NaN        NaN

khung dữ liệu. isnull[]

Bây giờ, hãy đếm số lượng NaN trong khung dữ liệu này bằng cách sử dụng khung dữ liệu. isnull[]

Pandas Dataframe cung cấp một hàm isnull[], nó trả về một khung dữ liệu mới có cùng kích thước với khung dữ liệu đang gọi, nó chỉ chứa True & False mà thôi. Với True ở vị trí NaN trong khung dữ liệu gốc và Sai ở những nơi khác. Hãy gọi chức năng này trên khung dữ liệu trên dfObj i. e

dfObj.isnull[]

Nó sẽ trả về một DataFrame mới với dữ liệu Đúng & Sai i. e.
______10
Điều này chứa True tại vị trí NaN trong dfObj và False tại các vị trí khác. Chúng tôi sẽ sử dụng khung dữ liệu này để tính tổng NaN trong khung dữ liệu gốc dfObj.

Đếm tất cả NaN trong DataFrame [cả cột và hàng]

penguins = sns.load_dataset["penguins"]
1
Việc gọi sum[] của DataFrame được trả về bởi isnull[] sẽ cho biết tổng số NaN trong khung dữ liệu i. e.
______12
Bây giờ, giả sử chúng ta muốn đếm riêng NaN trong từng cột, hãy làm điều đó.

Đếm tổng số NaN tại mỗi cột trong DataFrame

penguins = sns.load_dataset["penguins"]
3
Việc gọi sum[] của DataFrame được trả về bởi isnull[] sẽ cung cấp một chuỗi chứa dữ liệu về số lượng NaN trong mỗi cột i. e.
______14

Đếm tổng số NaN tại mỗi hàng trong DataFrame

Để đếm tổng số NaN trong mỗi hàng trong khung dữ liệu, chúng ta cần lặp lại từng hàng trong khung dữ liệu và gọi sum[] trên đó i. e

penguins = sns.load_dataset["penguins"]
5
Đầu ra của nó sẽ là,
penguins = sns.load_dataset["penguins"]
6
Ví dụ đầy đủ như sau,
    Name  Age       City    Country
0   jack  NaN     Sydeny  Australia
1   Riti  NaN      Delhi      India
2  Vikas   31        NaN      India
3  Neelu   32  Bangalore      India
4   John   16   New York         US
5   John   11        NaN        NaN
6    NaN  NaN        NaN        NaN
0
Output:
______81
 

Quảng cáo

Cảm ơn bạn đã đọc.

Làm cách nào để tìm giá trị null trong mỗi pandas cột?

Bạn có thể sử dụng df. isnull[]. tổng[] . Nó hiển thị tất cả các cột và tổng số NaN của từng tính năng.

Làm cách nào để kiểm tra có bao nhiêu giá trị null trong gấu trúc?

Vì sum[] tính bằng True=1 và False=0 , nên bạn có thể đếm số lượng giá trị bị thiếu trong mỗi hàng và cột bằng cách gọi sum[] từ kết quả của . Theo mặc định, bạn có thể đếm các giá trị bị thiếu trong mỗi cột và trong mỗi hàng với axis=1. . You can count missing values in each column by default, and in each row with axis=1 .

Isnull[] sum[] Pandas là gì?

any[] trả về True khi có ít nhất một giá trị bị thiếu xuất hiện trong dữ liệu. Khung dữ liệu chức năng. isnull[]. Tổng[]. sum[] trả về số giá trị còn thiếu trong tập dữ liệu .

Chủ Đề