Чишћење података несумњиво одузима много времена у науци о подацима, а подаци који недостају један су од изазова са којима ћете се често суочавати. пандас је вредна Питхон алатка за манипулацију подацима која вам помаже да поправите вредности које недостају у вашем скупу података, између осталог.
Можете да поправите податке који недостају тако што ћете их испустити или попунити другим вредностима. У овом чланку ћемо објаснити и истражити различите начине попуњавања података који недостају помоћу панда.
1. Користите метод филлна():
Тхе филлна() функција итерира кроз ваш скуп података и испуњава све нулте редове одређеном вредношћу. Прихвата неке необавезне аргументе - узмите у обзир следеће:
Валуе: Ово је вредност коју желите да уметнете у редове који недостају.
Метод: Омогућава вам да попуните вредности које недостају унапред или уназад. Прихвата а 'бфилл' или 'филл' параметар.
На месту: Ово прихвата условни исказ. Ако је тачно, трајно модификује ДатаФраме. У супротном, није.
Пре него што почнемо, уверите се да сте инсталирали панде у свој
Питхон виртуелно окружење Користећи пип у вашем терминалу:пип инсталл пандас
Затим, унутар Питхон скрипте, креираћемо практични ДатаФраме и убацити нулл вредности (Нан) у неколико редова:
увоз панде
дф = панде. ДатаФраме({'А' :[0, 3, Ништа, 10, 3, Ништа],
'Б': [Ништа, Ништа, 7.13, 13.82, 7, 7],
'Ц': [Ништа, "Панде", Ништа, "Панде", "Питхон", "ЈаваСцрипт"]})
Повезан:Како увести Екцел податке у Питхон скрипте користећи Пандас
Сада погледајте како можете да попуните ове недостајуће вредности користећи различите доступне методе у пандама.
Овај метод подразумева замену вредности које недостају израчунатим просецима. Попуњавање података који недостају средњом или средњом вредношћу је применљиво када укључене колоне имају цео број или тип података са покретним бројем.
Такође можете да попуните податке који недостају вредношћу режима, што је вредност која се најчешће појављује. Ово је такође примењиво на целе бројеве или флоат. Али је згодније када дотичне колоне садрже низове.
Ево како да уметнете средњу вредност и медијану у редове који недостају у ДатаФраме-у који сте раније креирали:
#Да бисте уметнули средњу вредност сваке колоне у редове који недостају:
дф.филлна (дф.меан().роунд (1), инплаце=Труе)
#За средњу вредност:
дф.филлна (дф.медиан().роунд (1), инплаце=Труе)
штампа (дф)
Уметање модалне вредности као што сте урадили за средњу вредност и медијану изнад не обухвата цео ДатаФраме. Али можете га уметнути у одређену колону уместо, рецимо, колоне Ц:
дф['Ц'].филлна (дф['Ц'].моде()[0], инплаце=Труе)
Уз то, још увек је могуће убацити модалну вредност сваке колоне у редове који недостају одједном користећи фор петљу:
за ја у дф.цолумнс:
дф[и].филлна (дф[и].моде()[0], инплаце=Труе)
штампа (дф)
Ако желите да будете специфични за колону док убацујете средњу вредност, медијану или режим:
дф.филлна({"А":дф['А'].меан(),
"Б": дф['Б'].медиан(),
"Ц": дф['Ц'].моде()[0]},
инплаце=Тачно)
штампа (дф)
Попуните нулте редове вредностима користећи ффилл
Ово укључује навођење метода попуњавања унутра као филлна() функција. Овај метод попуњава сваки ред који недостаје вредношћу најближег реда изнад њега.
Можете то назвати и попуњавањем унапред:
дф.филлна (метход='ффилл', инплаце=Труе)
Попуните недостајуће редове вредностима користећи бфилл
Овде ћете заменити ффилл горе поменута метода са бфилл. Он попуњава сваки ред који недостаје у ДатаФраме-у најближом вредношћу испод њега.
Ово се зове попуњавање уназад:
дф.филлна (метход='бфилл', инплаце=Труе)
2. Метода реплаце().
Можете заменити Нан вредности у одређеној колони са средњом вредношћу, медијаном, модом или било којом другом вредношћу.
Повезан:пандас команде за манипулисање оквирима података
Погледајте како ово функционише тако што ћете заменити нулте редове у именованој колони њеном средњом вредношћу, медијаном или модом:
увоз панде
импорт нумпи #ово захтева да сте претходно инсталирали нумпи
#Замените нулте вредности средњом вредношћу:
дф['А'].реплаце([нумпи.нан], дф[А].меан(), инплаце=Тачно)
#Замените колону А са медијаном:
дф['Б'].реплаце([нумпи.нан], дф[Б].медиан(), инплаце=Тачно)
#Користите модалну вредност за колону Ц:
дф['Ц'].реплаце([нумпи.нан], дф['Ц'].моде()[0], инплаце=Труе)
штампа (дф)
3. Попуните податке који недостају помоћу интерполате()
Тхе интерполирати() функција користи постојеће вредности у ДатаФраме-у да процени редове који недостају.
Покрените следећи код да видите како ово функционише:
#Интерполирајте уназад преко колоне:
дф.интерполате (метод ='линеар', лимит_дирецтион ='назад', инплаце=Тачно)
#Интерполирајте напредним редоследом преко колоне:
дф.интерполате (метод ='линеар', лимит_дирецтион ='форвард', инплаце=Труе)
Пажљиво поступајте са редовима који недостају
Иако смо разматрали само попуњавање података који недостају подразумеваним вредностима као што су просеци, режим и друге методе, постоје и друге технике за исправљање вредности које недостају. Научници података, на пример, понекад уклањају ове редове који недостају, у зависности од случаја.
Штавише, неопходно је критички размислити о својој стратегији пре него што је употребите. У супротном, можете добити нежељене резултате анализе или предвиђања. Неке почетне стратегије визуелизације података могу помоћи.
Прикажите своје податке помоћу графикона Јупитер Нотебоок-а.
Реад Нект
- Програмирање
- Питхон
- Програмирање
- база података
Идову је страствен за све паметне технологије и продуктивност. У слободно време игра се са кодирањем и прелази на шаховску таблу када му је досадно, али такође воли да се с времена на време одвоји од рутине. Његова страст да људима покаже пут око модерне технологије мотивише га да пише више.
Претплатите се на наш билтен
Придружите се нашем билтену за техничке савете, рецензије, бесплатне е-књиге и ексклузивне понуде!
Кликните овде да бисте се претплатили