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 McDanielTạ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 McDanielThay 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 McDanielnull 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ỗiTrong 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 DataFrameraw_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
5Sả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
63. 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
9Sả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]
04. 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]
1Sả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
65. 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]
5Sả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]
06. 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]
1Sả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]
27. 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]
3Sả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]
48. 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]
5Sả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]
29. 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]
7Sả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]
8Sự 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