Hướng dẫn how do you replace nan values with an empty string in python? - làm thế nào để bạn thay thế các giá trị nan bằng một chuỗi rỗng trong python?

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 để thể hiện giá trị dữ liệu bị thiếu trong khung dữ liệu Python/Pandas. Đô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 loại chuỗi.

Show

Trong bài viết Panda DataFrame 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) Các 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 các chuỗi trống/trống bằng cách sử dụng nhiều 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 để Lôi tạo một khung dữ liệu với một vài hàng và cột và thực hiện một số ví dụ và xác nhận kết quả. DataFrame của chúng tôi chứa 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)

Năng suất dưới đầu ra.


  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 trống trong gấu trúc

Sử dụng 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
8 để thay thế tất cả các giá trị NAN thành một chuỗi trống trong cột DataFrame của Pandas.


# All DataFrame replace empty string
df2 = df.replace(np.nan, '', regex=True)
print(df2)

Năng suất dưới đầu ra.

2. Chuyển đổi NAN thành chuỗi trống trong gấu trúc

Sử dụng 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 8 để thay thế tất cả các giá trị NAN thành một chuỗi trống trong cột DataFrame của Pandas.


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


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

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


  Courses      Fee
0   Spark  20000.0
1          25000.0
2  Hadoop         
3  Python  22000.0
4  pandas  24000.0
5                 
6    Java  22000.0

Để thay thế các 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 các chuỗi trống trên nhiều cột hoặc tất cả các cột từ danh sách, hãy sử dụng # All DataFrame replace empty string df2 = df.replace(np.nan, '', regex=True) print(df2) 0. Điều này thay thế các giá trị NAN trên các khóa học và cột Phí.

Năng suất dưới đầu ra.


# Using pandas.DataFrame.fillna() to nan values 
df2 = df.fillna("")
print(df2)

Năng suất dưới đầu ra.


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

2. Chuyển đổi NAN thành chuỗi trống trong gấu trúc

Sử dụng 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
8 để thay thế tất cả các giá trị NAN thành một chuỗi trống trong cột DataFrame của Pandas.


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

Năng suất dưới đầu ra.


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

2. Chuyển đổi NAN thành chuỗi trống trong gấu trúc

Sử dụng 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
8 để thay thế tất cả các giá trị NAN thành một chuỗi trống trong cột DataFrame của Pandas.


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

Năng suất dưới đầu ra.


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

2. Chuyển đổi NAN thành chuỗi trống trong gấu trúc

Sử dụng 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
8 để thay thế tất cả các giá trị NAN thành một chuỗi trống trong cột DataFrame của Pandas.


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

Năng suất dưới đầu ra.


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

2. Chuyển đổi NAN thành chuỗi trống trong gấu trúc

Sử dụng 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
8 để thay thế tất cả các giá trị NAN thành một chuỗi trống trong cột DataFrame của Pandas.


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

3. Nhiều cột thay thế 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)
2

Để thay thế các 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 các chuỗi trống trên nhiều cột hoặc tất cả các cột từ danh sách, hãy sử dụng # All DataFrame replace empty string df2 = df.replace(np.nan, '', regex=True) print(df2) 0. Điều này thay thế các giá trị NAN trên các khóa học và cột Phí.

Năng suất dưới đầu ra.


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

3. Nhiều cột thay thế 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)
8

Để thay thế các 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 các chuỗi trống trên nhiều cột hoặc tất cả các cột từ danh sách, hãy sử dụng # All DataFrame replace empty string df2 = df.replace(np.nan, '', regex=True) print(df2) 0. Điều này thay thế các giá trị NAN trên các khóa học và cột Phí.

Năng suất dưới đầu ra.

4. Sử dụng fillna () cho các giá trị nan/null với chuỗi trống

Sử dụng pandas.datafrmae.fillna () để thay thế các giá trị nan/null bằng một chuỗi trống. Điều này thay thế cho mỗi NAN trong Pandas DataFrame bằng một chuỗi trống.

  • 5. fillna () với tại chỗ = 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ỗ, sử dụng
    
    # All DataFrame replace empty string
    df2 = df.replace(np.nan, '', regex=True)
    print(df2)
    
    1. Khi sử dụng điều 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ề không có loại.
  • 6. Thay thế NAN bằng chuỗi trống trên một cột cụ thể
  • Nếu bạn muốn điền vào một cột duy nhất, bạn có thể sử dụng
    
    # All DataFrame replace empty string
    df2 = df.replace(np.nan, '', regex=True)
    print(df2)
    
    3.
  • 7. Thay thế NAN bằng số không

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

  • https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.fillna.html