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

Chủ đề