Как да се обработват стойностите „nan“ в конвейер за предварителна обработка на данни?

Jan 20, 2026

Остави съобщение

Дейвид Уанг
Дейвид Уанг
Като старши инженер в нашия отдел за дистрибуционни системи се съсредоточавам върху проектирането на надеждни решения за дистрибуция CATV/SAT. Работата ми гарантира безпроблемно предоставяне на сигнал както в градските, така и в селските райони.

Здравейте! Като доставчик на висококачествени nan (не е типичен термин, но нека се захванем с него за този блог), видях справедливия си дял от канали за предварителна обработка на данни и досадните стойности „nan“, които често изскачат. И така, в този блог ще ви преведа как да се справяте с тези „nan“ стойности като професионалист.

Първо, нека разберем какво представляват стойностите „nan“. „Nan“ означава „Не е число“. Това е специална стойност с плаваща точка, която представлява недефинирана или непредставима стойност в числените изчисления. Можете да намерите тези „nan“ стойности в набори от данни по различни причини. Може би е имало грешка по време на събирането на данни, като неизправност на сензора или потребителят е забравил да въведе стойност. Или може би е имало изчисление, което е довело до невалидна операция, като например деление на нула.

Сега, защо е толкова важно да се борави със стойностите 'nan'? Е, повечето алгоритми за машинно обучение и инструменти за анализ на данни не могат да се справят със стойности „nan“. Те или ще изведат грешка, или ще ви дадат неточни резултати. Така че работата със стойностите „nan“ е решаваща стъпка в тръбопровода за предварителна обработка на данни.

GPU-4GAC-V-R-1XPON+4GE+1POTS+1USB3.0+CATV+AX3000 WIFI6 HGU ONU

1. Идентифициране на „nan“ стойности

Първата стъпка при обработката на стойностите „nan“ е да ги идентифицирате. В Python, ако използвате библиотеки като Pandas, това е супер лесно. Можете да използватеisnull()илие()методи. Например:

импортирайте панди като pd импортирайте numpy като np данни = {'col1': [1, 2, np.nan, 4], 'col2': [5, np.nan, 7, 8]} df = pd.DataFrame(data) nan_mask = df.isnull() print(nan_mask)

Този код ще създаде DataFrame с някои стойности „nan“ и след това ще генерира булева маска, която показва къде са стойностите „nan“.

2. Премахване на стойностите 'nan'

Един от най-простите начини за обработка на стойностите 'nan' е просто да ги премахнете. В Pandas можете да използватекапка ()метод.

clean_df = df.dropna() print(clean_df)

Това ще премахне всички редове, които съдържат стойности „nan“. Този подход обаче има своите недостатъци. Ако имате много стойности „nan“, в крайна сметка може да загубите значително количество данни. И ако стойностите на „nan“ не са произволно разпределени, можете да въведете отклонение във вашия набор от данни.

3. Стойностите на картината "nan".

Импутацията е по-сложен начин за обработка на стойности „nan“. Вместо да премахвате точките от данни със стойности „nan“, вие ги заменяте с приблизителни стойности.

Средна стойност/медиана/режим импутация

За цифрови колони можете да замените стойностите „nan“ със средната стойност, медианата или режима на колоната.

mean_col1 = df['col1'].mean() df['col1'] = df['col1'].fillna(mean_col1)

Този код замества стойностите „nan“ в колоната „col1“ със средната стойност на тази колона. Вменяването на средна стойност е бързо и лесно, но може да намали дисперсията във вашите данни. Средната импутация е по-добър вариант, ако вашите данни имат отклонения, тъй като медианата е по-малко засегната от екстремни стойности.

За категориални колони можете да използвате режима (най-честата стойност).

mode_col2 = df['col2'].mode()[0] df['col2'] = df['col2'].fillna(mode_col2)

Интерполация

Интерполацията е друг начин за приписване на стойности „nan“, особено за данни от времеви серии. Pandas предоставяинтерполирам()метод.

df = pd.DataFrame({'value': [1, np.nan, 3, 4, np.nan, 6]}) df['value'] = df['value'].interpolate() print(df)

Този метод оценява липсващите стойности въз основа на стойностите на съседните точки от данни.

4. Използване на съвременни техники

Има и по-усъвършенствани техники за обработка на стойности „nan“, като например използване на алгоритми за машинно обучение за прогнозиране на липсващите стойности. Например, можете да използвате дърво на решенията или произволна гора, за да предвидите стойностите на „nan“ въз основа на другите функции във вашия набор от данни.

Нашите продукти и как се вписват

Като доставчик на nan знам, че наличието на чисти и надеждни данни е от решаващо значение за вземането на информирани решения. Ето защо нашите продукти са проектирани да работят безпроблемно с вашите канали за предварителна обработка на данни. Независимо дали работите върху малък проект или широкомащабно корпоративно приложение, нашите nan продукти могат да ви помогнат да се справите с „nan“ стойностите по-ефективно.

И като говорим за свързани продукти, ние също предлагаме някои страхотни устройства XPON ONU. Вижте тези невероятни продукти:

Тези устройства са проектирани да осигурят високоскоростна и надеждна свързаност, която е от съществено значение за събирането и анализа на данни.

Свържете се с нас за покупка

Ако се интересувате от нашите nan продукти или някое от устройствата XPON ONU, ще се радваме да чуем от вас. Независимо дали имате въпроси относно нашите продукти, имате нужда от оферта или искате да обсъдите персонализирано решение, не се колебайте да се свържете с нас. Ние сме тук, за да ви помогнем да се възползвате максимално от вашите данни и да гарантираме, че вашите канали за предварителна обработка на данни протичат гладко.

Референции

  • VanderPlas, J. (2016). Python Data Science Handbook: Основни инструменти за работа с данни. O'Reilly Media.
  • McKinney, W. (2012). Python за анализ на данни: Разбор на данни с Pandas, NumPy и IPython. O'Reilly Media.
Изпрати запитване
Свържете се с насАко имате някакъв въпрос

Можете или да се свържете с нас чрез телефон, имейл или онлайн формуляр по -долу. Нашият специалист ще се свърже с вас скоро.

Свържете се сега!