Bằng cách sử dụng các phương pháp 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 NaN2. 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 Khung dữ liệu Pandas
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 3Sả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 43. 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 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 30. Điều này thay thế các giá trị NaN trên cột Khóa học và Phí
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 7Sả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 84. 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
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 9Sả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 45. 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 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 31. 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ó
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 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) 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 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 33
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 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 34 để 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 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 35 để xóa NaN và điền vào 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 36
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(), 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 37, bạn cũng đã học cách thay thế một cột và nhiều cột