Hướng dẫn assign nan python pandas - gán gấu trúc nan python

Trong bài viết này, bạn sẽ thấy 3 cách để tạo các giá trị NAN trong Pandas DataFrame:

  1. Sử dụng Numpy
  2. Nhập tệp có giá trị trống
  3. Áp dụng cho_numeric

(1) Sử dụng Numpy

Bạn có thể dễ dàng tạo các giá trị NAN trong Pandas DataFrame bằng Numpy.

Cụ thể hơn, bạn có thể đặt np.nan mỗi khi bạn muốn thêm giá trị nan trong khung dữ liệu.np.nan each time you want to add a NaN value in the DataFrame.

Ví dụ: trong mã bên dưới, có 4 trường hợp của NP.Nan trong một cột DataFrame duy nhất:

import pandas as pd
import numpy as np

data = {'set_of_numbers': [1,2,3,4,5,np.nan,6,7,np.nan,np.nan,8,9,10,np.nan]}
df = pd.DataFrame(data)

print (df)

Điều này sẽ dẫn đến 4 giá trị NAN trong DataFrame:

    set_of_numbers
0              1.0
1              2.0
2              3.0
3              4.0
4              5.0
5              NaN
6              6.0
7              7.0
8              NaN
9              NaN
10             8.0
11             9.0
12            10.0
13             NaN

Tương tự, bạn có thể đặt NP.NAN trên nhiều cột trong DataFrame:np.nan across multiple columns in the DataFrame:

import pandas as pd
import numpy as np

data = {'first_set_of_numbers':  [1,2,3,4,5,np.nan,6,7,np.nan,np.nan,8,9,10,np.nan],
        'second_set_of_numbers': [11,12,np.nan,13,14,np.nan,15,16,np.nan,np.nan,17,np.nan,19,np.nan],
        'third_set_of_numbers': [20,21,22,23,np.nan,24,np.nan,26,27,np.nan,np.nan,28,29,30]
       }
df = pd.DataFrame(data)

print (df)

Bây giờ bạn sẽ thấy 14 trường hợp NAN trên nhiều cột trong DataFrame:

    first_set_of_numbers  second_set_of_numbers  third_set_of_numbers
0                    1.0                   11.0                  20.0
1                    2.0                   12.0                  21.0
2                    3.0                    NaN                  22.0
3                    4.0                   13.0                  23.0
4                    5.0                   14.0                   NaN
5                    NaN                    NaN                  24.0
6                    6.0                   15.0                   NaN
7                    7.0                   16.0                  26.0
8                    NaN                    NaN                  27.0
9                    NaN                    NaN                   NaN
10                   8.0                   17.0                   NaN
11                   9.0                    NaN                  28.0
12                  10.0                   19.0                  29.0
13                   NaN                    NaN                  30.0

(2) Nhập tệp có giá trị trống

Nếu bạn nhập một tệp bằng gấu trúc và tệp đó chứa các giá trị trống, thì bạn sẽ nhận được các giá trị NAN cho các phiên bản trống đó.

Ở đây, hãy để nhập một tệp CSV bằng Pandas, trong đó một số giá trị trống trong chính tệp:

Sản phẩm Giá bán
Máy tính desktop700
Máy tính bảng
500
Máy tính xách tay1200

Đối với các mục đích trình diễn, hãy để giả sử rằng tệp CSV được lưu trữ theo đường dẫn sau:

C: \ Users \ Ron \ Desktop \ Products.csv

Trong trường hợp đó, cú pháp nhập tệp CSV như sau (lưu ý rằng bạn sẽ cần sửa đổi đường dẫn để phản ánh vị trí lưu trữ tệp trên máy tính của bạn):

import pandas as pd

df = pd.read_csv (r'C:\Users\Ron\Desktop\Products.csv')

print (df)

Tại đây, bạn sẽ thấy hai giá trị NAN cho hai trường hợp trống đó:

            Product   Price
0  Desktop Computer   700.0
1            Tablet     NaN
2               NaN   500.0
3            Laptop  1200.0

(3) Áp dụng cho_numeric

Bây giờ, hãy tạo ra một khung dữ liệu mới với một cột duy nhất. Chỉ lần này, các giá trị trong cột sẽ chứa sự kết hợp của cả dữ liệu số và không số lượng:

set_of_numbers
1
2
Aaa
3
BBB
4

Đây là cách mà DataFrame sẽ như thế nào:

import pandas as pd

data = {'set_of_numbers':  [1,2,"AAA",3,"BBB",4]}
df = pd.DataFrame(data)

print (df)

Bây giờ bạn sẽ thấy 6 giá trị (4 số và 2 không phải là số):

  set_of_numbers
0              1
1              2
2            AAA
3              3
4            BBB
5              4

Sau đó, bạn có thể sử dụng to_numeric để chuyển đổi các giá trị dưới cột ‘set_of_numbers thành định dạng float. Nhưng vì 2 trong số các giá trị đó là không phải là người, bạn sẽ nhận được NAN cho những trường hợp đó:

________số 8

Đây là mã hoàn chỉnh:

import pandas as pd

data = {'set_of_numbers': [1,2,"AAA",3,"BBB",4]}
df = pd.DataFrame(data)

df['set_of_numbers'] = pd.to_numeric(df['set_of_numbers'], errors='coerce')

print (df)

Lưu ý rằng hai giá trị không phải là Numeric đã trở thành NAN:

    set_of_numbers
0              1.0
1              2.0
2              3.0
3              4.0
4              5.0
5              NaN
6              6.0
7              7.0
8              NaN
9              NaN
10             8.0
11             9.0
12            10.0
13             NaN
0

Bạn cũng có thể muốn xem lại các hướng dẫn sau giải thích cách:

  • Kiểm tra NAN trong Pandas DataFrame
  • Thả các hàng có giá trị NAN trong Pandas DataFrame
  • Thay thế các giá trị nan bằng số không