Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengenalpasti dan Mengendalikan Nilai NaN dalam Data Berangka dengan Berkesan?

Bagaimanakah Saya Boleh Mengenalpasti dan Mengendalikan Nilai NaN dalam Data Berangka dengan Berkesan?

Susan Sarandon
Susan Sarandonasal
2024-12-17 22:39:10260semak imbas

How Can I Effectively Identify and Handle NaN Values in Numerical Data?

Mencari Nilai NaN

NaN (bukan nombor) ialah nilai apungan yang mewakili nilai berangka yang tidak ditentukan atau tiada. Menyemak nilai NaN boleh menjadi penting apabila berurusan dengan data berangka, kerana ia boleh membawa kepada pengiraan atau ralat yang salah.

Cara Mengenalpasti NaN

Cara paling berkesan untuk semak nilai NaN dalam Python ialah menggunakan fungsi math.isnan(). Fungsi ini mengambil nilai apungan sebagai input dan mengembalikan True jika nilai itu NaN, dan False sebaliknya.

import math

# Create a NaN value
x = float('nan')

# Check if x is NaN
if math.isnan(x):
    print("x is NaN")
else:
    print("x is not NaN")

# Output:
# x is NaN

Contoh Penggunaan

Pertimbangkan fail CSV dengan data kewangan berikut:

Name,Balance
Tom,1000
Jerry,-500
Nancy,NaN
Sally,2000

Untuk mengenal pasti semua baris dengan nilai NaN, anda boleh menggunakan yang berikut kod:

import csv
import math

with open('data.csv') as f:
    reader = csv.reader(f)
    for row in reader:
        if math.isnan(float(row[1])):
            print(f'Row {reader.line_num}: {row[0]} has a NaN balance')

Output:

Row 3: Nancy has a NaN balance

Dengan menggunakan math.isnan() untuk menyemak nilai NaN, anda boleh mengendalikan data berangka dengan lebih berkesan, memastikan supaya pengiraan atau kesilapan yang salah tidak timbul.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengenalpasti dan Mengendalikan Nilai NaN dalam Data Berangka dengan Berkesan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn