Null có được sử dụng trong Python không?

Hãy hiểu Python null nghĩa là gì và loại NONE là gì. Trong nhiều ngôn ngữ lập trình, 'null' được sử dụng để biểu thị một biến trống hoặc một con trỏ trỏ đến không có gì. 'null' về cơ bản bằng 0. Trong khi trong Python, không có sẵn từ khóa 'null'. Thay vào đó, 'None' được sử dụng, là một đối tượng, cho mục đích này

Python rỗng là gì?

Bất cứ khi nào một chức năng không có bất cứ điều gì để trả lại tôi. e. , nó không chứa câu lệnh return, thì đầu ra sẽ là Không có

Nói một cách đơn giản hơn, từ khóa Không có ở đây được sử dụng để xác định một biến hoặc đối tượng null. Không có gì là một đối tượng và một kiểu dữ liệu của lớp Không có Loại

def func_no_return[]
    a = 5
    b = 7
print[func_no_return[]]

None

GHI CHÚ

Bất cứ khi nào chúng ta gán Không cho một biến, tất cả các biến được gán cho nó đều trỏ đến cùng một đối tượng. Không có phiên bản mới nào được tạo

Trong Python, không giống như các ngôn ngữ khác, null không chỉ đồng nghĩa với 0, mà bản thân nó là một đối tượng

type[None]

Khai báo biến null trong Python

Biến null trong python không được khai báo theo mặc định. Tức là biến không xác định sẽ không giống với biến null. Để dễ hiểu, tất cả các biến trong python chỉ tồn tại bằng cách gán. Hãy nhìn vào đoạn mã dưới đây

Đoạn mã trên cho thấy sự khác biệt giữa biến không xác định và biến Không có

Làm cách nào để kiểm tra xem một biến có phải là không có trong Python không?

Bạn có thể kiểm tra xem một biến có phải là Không có hay không bằng cách sử dụng toán tử ‘ is ‘ hoặc ‘ == ‘ như hình bên dưới

Trong khi viết mã bằng Python, việc gán hoặc khởi tạo các biến với các giá trị chuỗi, float hoặc số nguyên là rất phổ biến. Nhưng một số bạn có thể muốn gán giá trị null cho một biến, nó được gọi là Xử lý giá trị Null trong Python. Không giống như các ngôn ngữ lập trình khác như PHP hoặc Java hoặc C, Python không có giá trị null. Thay vào đó, có từ khóa 'Không' mà bạn có thể sử dụng để xác định giá trị null

Trong thế giới thực, dữ liệu trong thế giới thực hiếm khi sạch và đồng nhất hơn. Đặc biệt, nhiều bộ dữ liệu thú vị sẽ có một số lượng dữ liệu bị thiếu

Trong bài viết này, chúng tôi sẽ thảo luận về một số cân nhắc chung đối với dữ liệu bị thiếu [i. e. Null Value], thảo luận cách Pandas chọn để đại diện cho nó.  

Xác định NaN và Không có gì trong Pandas

Cả NaN và Không đều được biểu thị dưới dạng giá trị null và Pandas được xây dựng để xử lý hai trong số chúng gần như thay thế cho nhau. Ví dụ sau giúp bạn cách trao đổi

Example:-

pd.Series[[1, np.nan, 2, None]]
output : 	0    1.0
1    NaN
2    2.0
3    NaN
dtype: float64

Pandas automatically type-casts when NA values are present. For example, if we set a value in an integer array to np.nan, it will automatically be changed to a floating-point type.

x = pd.Series[range[2], dtype=int]
print[x]
output:
0    0
1    1
dtype: int64

x[0] = None
print[x]
Output:
0    NaN
1    1.0
dtype: float64

Bây giờ bạn có thể thấy rằng ngoài việc truyền mảng số nguyên thành dấu phẩy động, Pandas còn tự động chuyển đổi giá trị Không có thành giá trị NaN.  

Các danh sách sau đây trong Pandas khi giá trị NA được giới thiệu

Nổi  – Không thay đổi. nanObject – Không thay đổiNp. nan hoặc Không truyền số nguyên thành float64 np. nan Boolean-cast tới đối tượng Np. nan hoặc Không có

Luôn nhớ rằng trong Pandas, dữ liệu chuỗi luôn được lưu trữ với một đối tượng dtype


Widget not in any sidebars

Phát hiện giá trị Null

Như chúng ta đã thấy ví dụ trên, Pandas coi Không có và NaN là biểu thị các giá trị bị thiếu hoặc rỗng. Có một số phương pháp hữu ích để phát hiện, loại bỏ và thay thế các giá trị null trong cấu trúc dữ liệu Pandas.  

Danh sách sau đây là

Ở đâu,

  • isnull[]. kiểm tra bất kỳ giá trị null
  • có giá trị[]. Đối diện của isnull[]

Cấu trúc dữ liệu gấu trúc có hai phương pháp hữu ích để phát hiện dữ liệu null. isnull[] và notnull[]

For Example:-

df = pd.Series[[1,2, np.nan, 'fireblaze', None]]

##isnull[]##

df.isnull[]
output:
0    	False
1	False
2     	True
3    	False
4     	True
dtype: bool

##not null##

data[data.notnull[]]

0        1
1	 2
3    	fireblaze
dtype: object

# To detect the number of null value used .isnull.sum[]

data.isnull[].sum[]

# Output:-
2

Xử lý giá trị Null trong Python

Dữ liệu chứa giá trị null vì nhiều lý do như quan sát dữ liệu không được ghi, dữ liệu bị hỏng. Vì vậy, khi dữ liệu của bạn chứa giá trị null, điều đó có nghĩa là chúng tôi không phân tích đúng dữ liệu của mình và nhiều thuật toán máy học không hỗ trợ các giá trị bị thiếu này. Đó là lý do đằng sau việc xử lý các giá trị còn thiếu

Có hai quy trình quan trọng để xử lý giá trị còn thiếu này

  1. Rơi
  2. Quy nạp giá trị null
  1. Giảm giá trị còn thiếu

Giả sử giá trị cột dữ liệu chứa hơn 60% – 70% giá trị bị thiếu vào thời điểm đó, chúng tôi muốn loại bỏ các cột đó vì nếu bạn loại bỏ giá trị null đó, điều đó có nghĩa là tất cả các giá trị cột còn lại cũng bị loại bỏ để có cơ hội cho dữ liệu

cú pháp. -

Khung dữ liệu. dropna[axis = 0/1 , how = [‘all’/ ’any’],subset = [‘column name’], thresh = any number]

Ở đâu,

axis = 0 -> Nó dùng để kiểm tra giá trị null trong hàng

axis = 1 -> Nó kiểm tra các giá trị null trong các cột

how = ‘all’ -> Nó kiểm tra giá trị của tất cả các hàng hoặc cột là null rồi bỏ cái đó

how = ‘any’ -> nó kiểm tra bất kỳ giá trị null nào trong hàng và cột chứa rồi bỏ nó

thresh  = nó chcek ít nhất số giá trị không null có chứa cột/hàng hay không. Bán tại. thresh = 2 nó kiểm tra xem hàng hoặc cột đó có chứa giá trị null hay không

Thí dụ. -

df = pd.Series[[1,2, np.nan, 'fireblaze', None]]

##isnull[]##

df.isnull[]
output:
0    	False
1	False
2     	True
3    	False
4     	True
dtype: bool

#drop all null values from series

data.dropna[]

Output:-

0        2
3    fireblaze
dtype: object

Thả giá trị null trong khung dữ liệu. -

Rất nhiều tùy chọn trong khung dữ liệu. Hãy tạo một khung dữ liệu

Thí dụ. -

df = pd.DataFrame[[[1,      np.nan, 2],
                   [3,      4,      5],
                   [np.nan, 6,      7]]]
print[df]

01201. 0np. nan2. 013. 04. 05. 02np. nan6. 07. 0

Chúng tôi không thể bỏ các giá trị đơn lẻ từ DataFrame. Chúng tôi chỉ có thể bỏ toàn bộ hàng hoặc toàn bộ cột từ DataFrame. Tùy thuộc vào tuyên bố vấn đề. Vì vậy, dropna[] cung cấp một số tùy chọn cho DataFrame

Theo mặc định, dropna[] sẽ loại bỏ tất cả các hàng có bất kỳ giá trị null nào

Ví dụ

________số 8_______

01213. 04. 05. 0

Một phương pháp khác

Bạn có thể thả các giá trị NA dọc theo một trục khác;

Thí dụ. -

df.dropna[axis = 1]

202. 015. 027. 0

Một phương pháp thú vị khác trong việc loại bỏ các hàng hoặc cột với tất cả các giá trị NA. Điều này có thể được chỉ định thông qua các tham số 'làm thế nào' hoặc 'thresh', cho phép kiểm soát tốt số lượng null để cho phép thông qua

Giá trị mặc định cho how=’any’, sao cho bất kỳ hàng hoặc cột nào chứa giá trị null[NaN] sẽ bị loại bỏ. Bạn cũng có thể chỉ định cách=’tất cả’, thao tác này sẽ chỉ loại bỏ các hàng/cột có tất cả các giá trị null

Bây giờ, hãy thêm tất cả giá trị nan vào DataFrame đã cho

Thí dụ. -

in [df]

012301. 0np. nan2. 0NaN13. 04. 05. 0NaN2np. nan6. 07. 0NaN

df. dropna[axis=’columns’, how=’all’] #drop aloumn nơi tất cả các giá trị nan

01201. 0np. nan213. 04. 052np. nan6. 07

Hãy sử dụng tham số 'thresh', bạn chỉ định số lượng giá trị khác null tối thiểu cho hàng/cột

Thí dụ. -

df. dropna[trục=’hàng’, thresh=3]

012301. 0np. nan2. 0NaN

Ở đây, hàng đầu tiên và cuối cùng đã bị loại bỏ vì chúng tôi đặt điều kiện là 'thresh=3', điều đó có nghĩa là có ít nhất hai giá trị NaN trong hàng và cột. Chúng chỉ chứa hai giá trị khác null


Widget not in any sidebars

Điền giá trị null

Đôi khi, thay vì loại bỏ các giá trị NA, bạn nên thay thế chúng bằng một giá trị hợp lệ. Mỗi lần bỏ nó không tốt cho tất cả các báo cáo vấn đề vì một số dữ liệu hữu ích hiểu rõ các cột hoặc hàng khác. Bây giờ, một cách tốt hơn để điền vào các giá trị null và cách này được gọi là Xử lý giá trị Null trong Python. Giá trị này có thể là một số duy nhất như số không, giá trị trung bình, trung vị hoặc chế độ. Bạn có thể thực hiện việc này tại chỗ bằng cách sử dụng phương thức isnull[] làm mặt nạ, nhưng vì đây là một hoạt động phổ biến nên Pandas cung cấp phương thức fillna[], phương thức này trả về một bản sao của mảng với các giá trị null được thay thế

Nói chung, chúng tôi điền giá trị null của dữ liệu số bằng cách sử dụng giá trị trung bình và trung vị và chế độ cho dữ liệu phân loại

Khi nào sử dụng thước đo xu hướng trung tâm để lấp đầy giá trị null?

  • Mean – Nó được sử dụng khi dữ liệu của bạn không bị sai lệch [ i. e. phân phối bình thường]
  • Trung vị – Nó được sử dụng khi dữ liệu của bạn bị sai lệch [ i. e. không có phân phối chuẩn]
  • Chế độ. -  Nó được sử dụng khi dữ liệu của bạn bị sai lệch [ i. e. không được phân phối bình thường] chủ yếu được sử dụng để điền giá trị null phân loại

cú pháp. -

fillna[value,method=[ 'fill' / 'bfill' ],axis = 0/1]

Phương thức = ‘fill’ -> nó điền các giá trị null theo hướng thuận

Phương thức = ‘bfill’ -> nó điền các giá trị null theo hướng ngược lại

axis = 0 -> điền giá trị null theo cột

axis  = 1 điền giá trị null theo hàng

Ví dụ. ’

df= pd.Series[[1, np.nan, 2, None, 3,None,4], index=list['abcdefg']]
print[df]

a    1.0
b    NaN
c    2.0
d    NaN
e    3.0
f    NaN
g    4.0
dtype: float64

#Fill NA values with zero.
df.fillna[0]

a    1.0
b    0.0
c    2.0
d    0.0
e    3.0
f    0.0
g    4.0
dtype: float64


Widget not in any sidebars
0


Widget not in any sidebars
1

Điền giá trị null bằng giá trị trung bình của một cột cụ thể


Widget not in any sidebars
2


Widget not in any sidebars
3

Truyền tên biến giá trị trung bình vào hàm fillna[] để điền giá trị null bằng giá trị trung bình của các cột cụ thể đó


Widget not in any sidebars
4

df[4]. fillna[mean_value,inplace= True]   # inplace = True cho thay đổi ban đầu trong khung dữ liệu

df

đầu ra. -


Widget not in any sidebars
5

Bây giờ giá trị null này chúng tôi điền bằng giá trị trung bình của dữ liệu


Widget not in any sidebars
6

Phần kết luận

Cách tiếp cận để xử lý các giá trị bị thiếu phụ thuộc nhiều vào bản chất của dữ liệu. Trong bài viết này, chúng ta đang tìm hiểu về Xử lý giá trị Null trong Python. Do đó, bạn đang xử lý các loại dữ liệu khác nhau nên đã sử dụng phương pháp thử và sai

Chia sẻ

Facebook

Twitter

Pinterest

WhatsApp

liên kết

E-mail

điện tín

ĐƯỜNG KẺ

Viber

Bài viết trước Hàm ở đâu trong NumPy Python

Bài viết tiếp theo Phát hiện đặc điểm từ hình ảnh bằng OpenCV

Aniruddha Kalbande

https. //www. fireblazeaischool. trong/blog

Với sứ mệnh đào tạo 1.00.000 Người đam mê dữ liệu. Huấn luyện viên Khoa học dữ liệu, Học máy và Trí tuệ nhân tạo. Tư vấn. Nhà truyền giáo với hơn 15.000 kinh nghiệm. Chuyên gia Microsoft Excel

Là null và Không giống nhau trong Python?

Không so với Không có trong Python . Và nó là một biến cụ thể không có giá trị đối tượng. Null – Không có null trong Python , chúng ta có thể sử dụng None thay vì sử dụng giá trị null.

\0 và null có giống nhau không?

'\0' được xác định là ký tự rỗng . Nó là một ký tự có tất cả các bit được đặt thành 0. Điều này không có gì để làm với con trỏ. '\0' là [giống như tất cả các ký tự bằng chữ] một hằng số nguyên có giá trị bằng không.

IS null được coi là sai trong Python?

Trong nhiều ngôn ngữ lập trình phổ biến, null chỉ là số 0 bên trong. Trong Python, điều này không đúng . Cũng giống như mọi thứ khác trong Python, Không ai là một đối tượng. Loại Không có là Không có Loại.

Chủ Đề