Python thay null bằng 0

mô-đun nhập khẩu

import pandas as pd
import numpy as np

tạo khung dữ liệu giả

raw_data = {'name': ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel'],
'age': [20, 19, 22, 21],
'favorite_color': ['blue', 'red', 'yellow', "green"],
'grade': [88, 92, 95, 70]}
df = pd.DataFrame[raw_data, index = ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel']]
df
tuổifavorite_colorgradenameWillard Morris20xanh dương88Willard MorrisAl Jennings19đỏ92Al JenningsOmar Mullins22vàng95Omar MullinsSpencer McDaniel21xanh lá cây70Spencer McDaniel

Tạo một số giá trị NaN trong khung dữ liệu

agefavorite_colorgradenameWillard MorrisNaNblue88. 0Willard MorrisAl Jennings19. 0red92. 0Al JenningsOmar Mullins22. 0vàng95. 0 Omar Mullins Spencer McDaniel 21. 0greenNaNSpencer McDaniel

Thay thế các giá trị NaN trong khung dữ liệu [bằng 0 trong trường hợp này]

agefavorite_colorgradenameWillard Morris0. 0blue88. 0Willard MorrisAl Jennings19. 0red92. 0Al JenningsOmar Mullins22. 0vàng95. 0 Omar Mullins Spencer McDaniel 21. 0green0. 0Spencer McDaniel

null thường được định nghĩa là 0 trong các ngôn ngữ đó, nhưng null trong Python thì khác. Python sử dụng từ khóa Không có để xác định các đối tượng và biến null. . Là null trong Python, Không có giá trị nào không được xác định là 0 hoặc bất kỳ giá trị nào khác. Trong Python, Không ai là một đối tượng và là công dân hạng nhất

Làm thế nào để bạn thay thế Null?

Hàm ISNULL là một hàm tích hợp để thay thế các giá trị null bằng các giá trị thay thế được chỉ định. Để sử dụng chức năng này, tất cả những gì bạn cần làm là chuyển tên cột trong tham số đầu tiên và trong tham số thứ hai, hãy chuyển giá trị mà bạn muốn thay thế giá trị null

Giá trị null trong Python LÀ GÌ?

null thường được định nghĩa là 0 trong các ngôn ngữ đó, nhưng null trong Python thì khác. Python sử dụng từ khóa Không có để xác định các đối tượng và biến null. . Là null trong Python, Không có giá trị nào không được xác định là 0 hoặc bất kỳ giá trị nào khác. Trong Python, Không ai là một đối tượng và là công dân hạng nhất

Làm cách nào để mã hóa có và không trong Python?

cú pháp. Loạt. bản đồ [arg, na_action=Không]. loại trả lại. Pandas Series có cùng chỉ mục với tư cách là người gọi. Thí dụ. Thay thế cột 'ủy quyền' chứa các giá trị 'có' và 'không' bằng Đúng và Sai

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

Truy cập một chú gấu trúc cụ thể. Cột DataFrame sử dụng DataFrame[column_name]. Để thay thế các giá trị trong cột, hãy gọi DataFrame. thay thế [to_replace, inplace=True] bằng to_replace được đặt làm từ điển ánh xạ giá trị cũ sang giá trị mới

Bằng cách sử dụng các phương thức


import pandas as pd
import numpy as np
technologies = {
    'Courses':["Spark",np.nan,"Hadoop","Python","pandas",np.nan,"Java"],
    'Fee' :[20000,25000, np.nan,22000,24000,np.nan,22000],
    'Duration':[np.nan,'40days','35days', np.nan,'60days','50days','55days'],
    'Discount':[1000,np.nan,1500,np.nan,2500,2100,np.nan]
              }
df = pd.DataFrame[technologies]
print[df]
9 hoặc

  Courses      Fee Duration  Discount
0   Spark  20000.0      NaN    1000.0
1     NaN  25000.0   40days       NaN
2  Hadoop      NaN   35days    1500.0
3  Python  22000.0      NaN       NaN
4  pandas  24000.0   60days    2500.0
5     NaN      NaN   50days    2100.0
6    Java  22000.0   55days       NaN
0, bạn có thể thay thế các giá trị NaN bằng chuỗi Trống/Trống trong Pandas DataFrame.

  Courses      Fee Duration  Discount
0   Spark  20000.0      NaN    1000.0
1     NaN  25000.0   40days       NaN
2  Hadoop      NaN   35days    1500.0
3  Python  22000.0      NaN       NaN
4  pandas  24000.0   60days    2500.0
5     NaN      NaN   50days    2100.0
6    Java  22000.0   55days       NaN
1 là viết tắt của

  Courses      Fee Duration  Discount
0   Spark  20000.0      NaN    1000.0
1     NaN  25000.0   40days       NaN
2  Hadoop      NaN   35days    1500.0
3  Python  22000.0      NaN       NaN
4  pandas  24000.0   60days    2500.0
5     NaN      NaN   50days    2100.0
6    Java  22000.0   55days       NaN
2 và là một trong những cách phổ biến để biểu thị giá trị dữ liệu bị thiếu trong Python/Pandas DataFrame. Đôi khi, chúng tôi sẽ được yêu cầu chuyển đổi/thay thế bất kỳ giá trị bị thiếu nào bằng các giá trị có ý nghĩa như thay thế bằng số 0 cho các cột số và để trống hoặc để trống cho các cột kiểu chuỗi

Trong bài viết về Khung dữ liệu gấu trúc này, tôi sẽ giải thích cách chuyển đổi một hoặc nhiều [tất cả các cột từ danh sách] giá trị cột


  Courses      Fee Duration  Discount
0   Spark  20000.0      NaN    1000.0
1     NaN  25000.0   40days       NaN
2  Hadoop      NaN   35days    1500.0
3  Python  22000.0      NaN       NaN
4  pandas  24000.0   60days    2500.0
5     NaN      NaN   50days    2100.0
6    Java  22000.0   55days       NaN
1 thành chuỗi trống/trống bằng một số cách với các ví dụ

1. Ví dụ nhanh về thay thế NaN thành chuỗi trống/trống

Nếu bạn đang vội, dưới đây là một số ví dụ nhanh về cách thay thế NaN bằng một chuỗi trống/trống trong Pandas DataFrame


# Below are quick examples 
# Replace all Nan values to empty string
df2 = df.replace[np.nan, '', regex=True]
print[df2]

# Using multiple columns 
df2 = df[['Courses','Fee' ]] = df[['Courses','Fee' ]].fillna['']
print[df2]

# Using pandas.DataFrame.fillna[] to replace nan values 
df2 = df.fillna[""]
print[df2]

# Using pandas replace nan with null 
df2 = df.fillna['', inplace=True]
print[df2]

# Pandas single column using replace nan empty string 
df2 = df.Courses.fillna['']
print[df2]

# Using Courses column replace nan with Zeros
df2 = df['Courses']=df['Courses'].fillna[0]
print[df2]

# Using Discount column to replace nan with Zeros
df2 = df['Discount']=df['Discount'].fillna[0]
print[df2]

# Remove the nan and fill the empty string
df2 = df.Courses.replace[np.nan,'',regex = True]
print[df2]

# Remove the nan and fill some values
df2 = df.Courses.replace[np.nan,'value',regex = True]
print[df2]

Bây giờ, hãy tạo một DataFrame với một vài hàng và cột và thực hiện một số ví dụ và xác thực kết quả. Khung dữ liệu của chúng tôi chứa các tên cột


  Courses      Fee Duration  Discount
0   Spark  20000.0      NaN    1000.0
1     NaN  25000.0   40days       NaN
2  Hadoop      NaN   35days    1500.0
3  Python  22000.0      NaN       NaN
4  pandas  24000.0   60days    2500.0
5     NaN      NaN   50days    2100.0
6    Java  22000.0   55days       NaN
4,

  Courses      Fee Duration  Discount
0   Spark  20000.0      NaN    1000.0
1     NaN  25000.0   40days       NaN
2  Hadoop      NaN   35days    1500.0
3  Python  22000.0      NaN       NaN
4  pandas  24000.0   60days    2500.0
5     NaN      NaN   50days    2100.0
6    Java  22000.0   55days       NaN
5,

  Courses      Fee Duration  Discount
0   Spark  20000.0      NaN    1000.0
1     NaN  25000.0   40days       NaN
2  Hadoop      NaN   35days    1500.0
3  Python  22000.0      NaN       NaN
4  pandas  24000.0   60days    2500.0
5     NaN      NaN   50days    2100.0
6    Java  22000.0   55days       NaN
6 và

  Courses      Fee Duration  Discount
0   Spark  20000.0      NaN    1000.0
1     NaN  25000.0   40days       NaN
2  Hadoop      NaN   35days    1500.0
3  Python  22000.0      NaN       NaN
4  pandas  24000.0   60days    2500.0
5     NaN      NaN   50days    2100.0
6    Java  22000.0   55days       NaN
7


import pandas as pd
import numpy as np
technologies = {
    'Courses':["Spark",np.nan,"Hadoop","Python","pandas",np.nan,"Java"],
    'Fee' :[20000,25000, np.nan,22000,24000,np.nan,22000],
    'Duration':[np.nan,'40days','35days', np.nan,'60days','50days','55days'],
    'Discount':[1000,np.nan,1500,np.nan,2500,2100,np.nan]
              }
df = pd.DataFrame[technologies]
print[df]

Sản lượng dưới sản lượng


  Courses      Fee Duration  Discount
0   Spark  20000.0      NaN    1000.0
1     NaN  25000.0   40days       NaN
2  Hadoop      NaN   35days    1500.0
3  Python  22000.0      NaN       NaN
4  pandas  24000.0   60days    2500.0
5     NaN      NaN   50days    2100.0
6    Java  22000.0   55days       NaN

2. Chuyển đổi Nan thành chuỗi rỗng trong Pandas

Sử dụng phương pháp


  Courses      Fee Duration  Discount
0   Spark  20000.0      NaN    1000.0
1     NaN  25000.0   40days       NaN
2  Hadoop      NaN   35days    1500.0
3  Python  22000.0      NaN       NaN
4  pandas  24000.0   60days    2500.0
5     NaN      NaN   50days    2100.0
6    Java  22000.0   55days       NaN
8 để thay thế tất cả các giá trị NaN thành một chuỗi trống trong cột Pandas DataFrame

raw_data = {'name': ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel'],
'age': [20, 19, 22, 21],
'favorite_color': ['blue', 'red', 'yellow', "green"],
'grade': [88, 92, 95, 70]}
df = pd.DataFrame[raw_data, index = ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel']]
df
5

Sản lượng dưới sản lượng

raw_data = {'name': ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel'],
'age': [20, 19, 22, 21],
'favorite_color': ['blue', 'red', 'yellow', "green"],
'grade': [88, 92, 95, 70]}
df = pd.DataFrame[raw_data, index = ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel']]
df
6

3. Nhiều cột thay thế chuỗi rỗng

Để thay thế giá trị


  Courses      Fee Duration  Discount
0   Spark  20000.0      NaN    1000.0
1     NaN  25000.0   40days       NaN
2  Hadoop      NaN   35days    1500.0
3  Python  22000.0      NaN       NaN
4  pandas  24000.0   60days    2500.0
5     NaN      NaN   50days    2100.0
6    Java  22000.0   55days       NaN
1 bằng Chuỗi trống trên nhiều cột hoặc tất cả các cột trong danh sách, hãy sử dụng
raw_data = {'name': ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel'],
'age': [20, 19, 22, 21],
'favorite_color': ['blue', 'red', 'yellow', "green"],
'grade': [88, 92, 95, 70]}
df = pd.DataFrame[raw_data, index = ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel']]
df
50. Điều này thay thế các giá trị NaN trên cột Khóa học và Phí

raw_data = {'name': ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel'],
'age': [20, 19, 22, 21],
'favorite_color': ['blue', 'red', 'yellow', "green"],
'grade': [88, 92, 95, 70]}
df = pd.DataFrame[raw_data, index = ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel']]
df
9

Sản lượng dưới sản lượng


import pandas as pd
import numpy as np
technologies = {
    'Courses':["Spark",np.nan,"Hadoop","Python","pandas",np.nan,"Java"],
    'Fee' :[20000,25000, np.nan,22000,24000,np.nan,22000],
    'Duration':[np.nan,'40days','35days', np.nan,'60days','50days','55days'],
    'Discount':[1000,np.nan,1500,np.nan,2500,2100,np.nan]
              }
df = pd.DataFrame[technologies]
print[df]
0

4. Sử dụng fillna[] thành các giá trị NaN/Null với chuỗi rỗng

sử dụng gấu trúc. Khung dữ liệu. fillna[] để Thay thế các giá trị NaN/Null bằng một chuỗi rỗng. Điều này thay thế từng NaN trong DataFrame của gấu trúc bằng một chuỗi trống


import pandas as pd
import numpy as np
technologies = {
    'Courses':["Spark",np.nan,"Hadoop","Python","pandas",np.nan,"Java"],
    'Fee' :[20000,25000, np.nan,22000,24000,np.nan,22000],
    'Duration':[np.nan,'40days','35days', np.nan,'60days','50days','55days'],
    'Discount':[1000,np.nan,1500,np.nan,2500,2100,np.nan]
              }
df = pd.DataFrame[technologies]
print[df]
1

Sản lượng dưới sản lượng

raw_data = {'name': ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel'],
'age': [20, 19, 22, 21],
'favorite_color': ['blue', 'red', 'yellow', "green"],
'grade': [88, 92, 95, 70]}
df = pd.DataFrame[raw_data, index = ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel']]
df
6

5. fillna[] với inplace=True

Nếu bạn nhận thấy đầu ra ở trên sau khi áp dụng hàm fillna[], nó sẽ trả về một DataFrame mới, Để cập nhật DataFrame hiện tại/tham chiếu tại chỗ, hãy sử dụng

raw_data = {'name': ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel'],
'age': [20, 19, 22, 21],
'favorite_color': ['blue', 'red', 'yellow', "green"],
'grade': [88, 92, 95, 70]}
df = pd.DataFrame[raw_data, index = ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel']]
df
51. Khi sử dụng phương thức này, phương thức

  Courses      Fee Duration  Discount
0   Spark  20000.0      NaN    1000.0
1     NaN  25000.0   40days       NaN
2  Hadoop      NaN   35days    1500.0
3  Python  22000.0      NaN       NaN
4  pandas  24000.0   60days    2500.0
5     NaN      NaN   50days    2100.0
6    Java  22000.0   55days       NaN
0 trả về loại Không có


import pandas as pd
import numpy as np
technologies = {
    'Courses':["Spark",np.nan,"Hadoop","Python","pandas",np.nan,"Java"],
    'Fee' :[20000,25000, np.nan,22000,24000,np.nan,22000],
    'Duration':[np.nan,'40days','35days', np.nan,'60days','50days','55days'],
    'Discount':[1000,np.nan,1500,np.nan,2500,2100,np.nan]
              }
df = pd.DataFrame[technologies]
print[df]
5

Sản lượng dưới sản lượng


import pandas as pd
import numpy as np
technologies = {
    'Courses':["Spark",np.nan,"Hadoop","Python","pandas",np.nan,"Java"],
    'Fee' :[20000,25000, np.nan,22000,24000,np.nan,22000],
    'Duration':[np.nan,'40days','35days', np.nan,'60days','50days','55days'],
    'Discount':[1000,np.nan,1500,np.nan,2500,2100,np.nan]
              }
df = pd.DataFrame[technologies]
print[df]
0

6. Thay thế NaN bằng chuỗi rỗng trên một cột cụ thể

Nếu bạn muốn điền vào một cột, bạn có thể sử dụng

raw_data = {'name': ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel'],
'age': [20, 19, 22, 21],
'favorite_color': ['blue', 'red', 'yellow', "green"],
'grade': [88, 92, 95, 70]}
df = pd.DataFrame[raw_data, index = ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel']]
df
53


import pandas as pd
import numpy as np
technologies = {
    'Courses':["Spark",np.nan,"Hadoop","Python","pandas",np.nan,"Java"],
    'Fee' :[20000,25000, np.nan,22000,24000,np.nan,22000],
    'Duration':[np.nan,'40days','35days', np.nan,'60days','50days','55days'],
    'Discount':[1000,np.nan,1500,np.nan,2500,2100,np.nan]
              }
df = pd.DataFrame[technologies]
print[df]
1

Sản lượng dưới sản lượng


import pandas as pd
import numpy as np
technologies = {
    'Courses':["Spark",np.nan,"Hadoop","Python","pandas",np.nan,"Java"],
    'Fee' :[20000,25000, np.nan,22000,24000,np.nan,22000],
    'Duration':[np.nan,'40days','35days', np.nan,'60days','50days','55days'],
    'Discount':[1000,np.nan,1500,np.nan,2500,2100,np.nan]
              }
df = pd.DataFrame[technologies]
print[df]
2

7. Thay thế NaN bằng Zeros

Những ví dụ này thay thế các giá trị NaN bằng số 0 trong một cột


import pandas as pd
import numpy as np
technologies = {
    'Courses':["Spark",np.nan,"Hadoop","Python","pandas",np.nan,"Java"],
    'Fee' :[20000,25000, np.nan,22000,24000,np.nan,22000],
    'Duration':[np.nan,'40days','35days', np.nan,'60days','50days','55days'],
    'Discount':[1000,np.nan,1500,np.nan,2500,2100,np.nan]
              }
df = pd.DataFrame[technologies]
print[df]
3

Sản lượng dưới sản lượng


import pandas as pd
import numpy as np
technologies = {
    'Courses':["Spark",np.nan,"Hadoop","Python","pandas",np.nan,"Java"],
    'Fee' :[20000,25000, np.nan,22000,24000,np.nan,22000],
    'Duration':[np.nan,'40days','35days', np.nan,'60days','50days','55days'],
    'Discount':[1000,np.nan,1500,np.nan,2500,2100,np.nan]
              }
df = pd.DataFrame[technologies]
print[df]
4

8. Xóa NaN và điền vào chuỗi trống

Sử dụng

raw_data = {'name': ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel'],
'age': [20, 19, 22, 21],
'favorite_color': ['blue', 'red', 'yellow', "green"],
'grade': [88, 92, 95, 70]}
df = pd.DataFrame[raw_data, index = ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel']]
df
54 để xóa NaN và điền vào chuỗi trống trên cột Khóa học


import pandas as pd
import numpy as np
technologies = {
    'Courses':["Spark",np.nan,"Hadoop","Python","pandas",np.nan,"Java"],
    'Fee' :[20000,25000, np.nan,22000,24000,np.nan,22000],
    'Duration':[np.nan,'40days','35days', np.nan,'60days','50days','55days'],
    'Discount':[1000,np.nan,1500,np.nan,2500,2100,np.nan]
              }
df = pd.DataFrame[technologies]
print[df]
5

Sản lượng dưới sản lượng


import pandas as pd
import numpy as np
technologies = {
    'Courses':["Spark",np.nan,"Hadoop","Python","pandas",np.nan,"Java"],
    'Fee' :[20000,25000, np.nan,22000,24000,np.nan,22000],
    'Duration':[np.nan,'40days','35days', np.nan,'60days','50days','55days'],
    'Discount':[1000,np.nan,1500,np.nan,2500,2100,np.nan]
              }
df = pd.DataFrame[technologies]
print[df]
2

9. Xóa NaN và điền một số giá trị

Sử dụng

raw_data = {'name': ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel'],
'age': [20, 19, 22, 21],
'favorite_color': ['blue', 'red', 'yellow', "green"],
'grade': [88, 92, 95, 70]}
df = pd.DataFrame[raw_data, index = ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel']]
df
55 để xóa NaN và điền vào
raw_data = {'name': ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel'],
'age': [20, 19, 22, 21],
'favorite_color': ['blue', 'red', 'yellow', "green"],
'grade': [88, 92, 95, 70]}
df = pd.DataFrame[raw_data, index = ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel']]
df
56


import pandas as pd
import numpy as np
technologies = {
    'Courses':["Spark",np.nan,"Hadoop","Python","pandas",np.nan,"Java"],
    'Fee' :[20000,25000, np.nan,22000,24000,np.nan,22000],
    'Duration':[np.nan,'40days','35days', np.nan,'60days','50days','55days'],
    'Discount':[1000,np.nan,1500,np.nan,2500,2100,np.nan]
              }
df = pd.DataFrame[technologies]
print[df]
7

Sản lượng dưới sản lượng


import pandas as pd
import numpy as np
technologies = {
    'Courses':["Spark",np.nan,"Hadoop","Python","pandas",np.nan,"Java"],
    'Fee' :[20000,25000, np.nan,22000,24000,np.nan,22000],
    'Duration':[np.nan,'40days','35days', np.nan,'60days','50days','55days'],
    'Discount':[1000,np.nan,1500,np.nan,2500,2100,np.nan]
              }
df = pd.DataFrame[technologies]
print[df]
8

Sự kết luận

Trong bài viết này, bạn đã học cách thay thế NaN bằng các chuỗi trống/trống trong Pandas bằng DataFrame. fillna[],

raw_data = {'name': ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel'],
'age': [20, 19, 22, 21],
'favorite_color': ['blue', 'red', 'yellow', "green"],
'grade': [88, 92, 95, 70]}
df = pd.DataFrame[raw_data, index = ['Willard Morris', 'Al Jennings', 'Omar Mullins', 'Spencer McDaniel']]
df
57, bạn cũng đã học cách thay thế một cột và nhiều cột

Chủ Đề