Панде претварају категоричке вредности у вредности Инт

Pande Pretvaraju Kategoricke Vrednosti U Vrednosti Int



Скупови података за извршење машинског учења укључују и нумеричке и категоричке варијабле. Категоричке варијабле су подаци типа стрингова које људи лако разумеју. Машине, с друге стране, не могу директно да разумеју категоричке инпуте. Сходно томе, категоријални садржај мора да се трансформише у нумеричке вредности које машине могу да интерпретирају.

Методе за претварање категоричких у Инт

Технике доступне у „пандама“ за претварање категоричких у инт вредности ДатаФраме-а су дате овде:

    • ДатаФраме.реплаце() метода
    • ДатаФраме.аппли(фацторизе()) метод

Користићемо ове методе у овом чланку и детаљно објаснити како да користите обе методе у „пандама“.







Пример # 1: Коришћење Пандас Реплаце() методе

Категоричке вредности у ДатаФраме-у могу се конвертовати у инт коришћењем пандас „ДатаФраме.реплаце()” методе. Овде ћемо научити да користимо ову методу.



Користили смо алатку „Спидер“ да бисмо оптимално извршили ову технику у Питхон-у. Да бисте започели писање скрипте, отворите нову Питхон датотеку у алату „Спидер“. Најзначајнији захтев за писање скрипте је увоз одговарајућих библиотека. Пошто морамо да применимо метод „панде“, имаћемо „увези панде као пд“ да бисмо приступили функцијама „панде“. Затим покрећемо наш основни Питхон код. Направили смо ДатаФраме користећи методу „пд.ДатаФраме()“. ДатаФраме је иницијализован са три колоне „Име“, „Дегрее“ и „Инцоме“. Све колоне ДатаФраме-а чувају исту дужину вредности.



Прва колона, „Име“, има осам вредности које су „буш“, „алберт“, „хари“, „питер“, „ема“, „њутн“, „смит“ и „елса“. Друга колона, „Степен“, такође чува осам категоричких вредности, а то су „БС“, „МС“, „МС“, „БС“, „БС“, „БС“, „МС“ и „МС“. Последња колона „Приход” има осам целих вредности „60000”, „80000”, „75000”, „45000”, „56000”, „65000”, „55000” и „70000”. Направили смо ДатаФраме објекат „стафф“ за складиштење излаза позивања функције „пд.ДатаФраме()“. Да бисмо приказали наш почетни ДатаФраме, користили смо метод „принт()“ са именом ДатаФраме-а „стафф“ као параметром у завршној линији скрипте.






Да бисте видели излаз на терминалу, користите дугме „Покрени датотеку“ на алату „Спидер“ или притисните тастере „Схифт+Ентер“. Излаз приказан на терминалу приказује ДатаФраме са три колоне које су успешно генерисане.


Сада, наш ДатаФраме је конструисан, морамо да применимо потребну технику на њега. Пандас „ДатаФраме.реплаце()“ метод ће се користити за претварање категоричких вредности одређене колоне у целобројне вредности тако да их машине могу учинити читљивим.



Навели смо име ДатаФраме-а са одређеним именом колоне чије вредности треба да заменимо, а то је „стафф[‘степен’]“. Желимо да вредности колоне „Степен“, која има категоричке вредности, буду замењене целобројним вредностима. Затим се позива метод “.реплаце()”. Пределили смо га у два сета; први садржи две категоричке вредности „[‘БС’, ‘МС’]” које смо издвојили из колоне „Дегрее”. Као што видите, колона „Степен“ више пута користи ове две вредности. Да смо имали трећу вредност, морали смо и то да споменемо. Други скуп има две инт вредности „[0, 1]“, које ће заузети место вредности првог скупа. Други параметар, „инплаце“, је постављен на „Труе“, што омогућава замену вредности. Ако је постављено на „Фалсе“, то ће онемогућити замену. Коначно, користили смо метод „принт()“ да прикажемо ажурирани ДатаФраме „особље“.


Добијени оквир података има целобројне вредности у колони „Степен“. Вредност „БС“ се замењује са „0с“, а „МС“ се замењује са „1с“.


Можете чак и да проверите тип података за сваку колону коришћењем својства „датафраме.дтипе“. Ово ће нам добити типове података свих колона у наведеном ДатаФраме-у.


Овде имамо типове података нашег ДатаФраме-а. Можемо видети да је тип података колоне „Степен“ промењен у „инт64“.

Пример # 2: Коришћење методе Пандас аппли().

Други метод који су нам панде пружиле је функција „ДатаФраме.аппли()“ за претварање категоријалне вредности у целе бројеве. У претходном примеру смо научили да конвертујемо једну категоричку колону у цео број. Сада ћемо видети како да конвертујемо све категоричке колоне у ДатаФраме-у у инт.

Почевши од практичне имплементације, морамо увести основну библиотеку за ову методу, а то су панде. Користили смо скрипту „импорт пандас ас пд“ за увоз панди у нашу Питхон датотеку у „Спидер“ алату, што ће нам омогућити да приступимо модулима пандас користећи „пд“. Користили смо функцију „пд.ДатаФраме()“ да бисмо направили ДатаФраме.

Овај ДатаФраме има четири колоне „група”, „позиција”, „резултати” и „помоћ”. Свака колона чува 9 вредности. Вредности колоне „групе“ су „Кс“, „Кс“, „И“, „Кс“, „И“, „И“, „И“, „Кс“ и „И“. Колона „позиција“ има 9 вредности које су „А“, „Ц“, „Д“, „А“, „Ц“, „Б“, „Б“, „Д“ и „Б“. Колона „резултати” има целобројне вредности као што су „4”, „8”, „7”, „10”, „9”, „5”, „7”, „3” и „23”. Последња колона, „помоћ”, има вредности „10”, „2”, „3”, „9”, „3”, „7”, „4”, „2” и „9”.

Направили смо ДатаФраме објекат „прог“ и доделили му излаз за позивање методе „пд.ДатаФраме()“. Дакле, резултујући оквир ДатаФраме генерисан из „пд.ДатаФраме()“ биће сачуван у „прог“. Сада можемо приступити ДатаФраме-у помоћу овог објекта. Да бисмо видели овај ДатаФраме, употребили смо метод „принт()“ са објектом ДатаФраме „прог“ као параметром.


Када се изврши претходни Питхон програм, ДатаФраме са четири колоне ће бити приказан на терминалу.


Да бисмо конвертовали више категоричких колона у целе бројеве, следили смо ову технику. Прво морамо да изаберемо све колоне које садрже тип података објекта употребом пандас методе „ДатаФраме.селецт_дтипес().цолумнс”. Када га користимо у нашој скрипти према потреби, то ће бити „прог.селецт_дтипес([‘објецт’]).цолумнс“. Одабраће све колоне које имају тип података „објецт“ у „прог“ ДатаФраме-у. Направили смо променљиву „цонцате_цол“ за чување излаза ове методе. Сада можемо приступити колонама типа података „објект“ једноставним коришћењем ове променљиве „цонцат_цол“.

Сада, да бисмо ове колоне претворили у целе бројеве, користили смо пандас „ДатаФраме.аппли()“ са методом „пд.фацторизе()“. Користили смо променљиву „цонцат_цол“ са именом ДатаФраме-а, а затим се позива метод „.аппли()“. Између заграда методе „.аппли“, назвали смо метод „пд.фацторизе()“ где „к“ може бити било која вредност из „прог“ ДатаФраме-а са „објецт“ типом података. Дакле, цела ова линија кода је написана као „прог['цонцат_цол'] = прог['цонцат_цол'].аппли(ламбда к : пд.фацторизе(к)[0])”. Метода факторизације ће узети вредност са 'објектни' тип података и конвертујте га у 'инт'. Коначни излаз се може приказати позивањем функције “принт()” тако што ћете проследити променљиву “прог” као њен параметар.


У ажурираном ДатаФраме-у можемо приметити да су вредности колона „група“ и „позиција“ у почетку биле категоричке, тј. И даље у ажурираном излазном ДатаФраме-у, обе колоне имају целобројне вредности. У колони „група“ „Кс“ се замењује са „0“, а „И“ са „1“. Док се колона „позиција“ „А“ замењује са „0“, „Ц“ са „1“, „Д“ са „2“ и „Б“ са „3“.


Сада, хајде да проверимо ажуриране типове података.


Све следеће колоне имају тип података „инт64“.

Закључак

Наш водич се врти око претварања категоричких вредности у нумеричке вредности тако да их машине могу учинити разумљивим јер тип података објекта не могу да обрађују. Упознали смо вас са два приступа која нуди библиотека „панда“ да бисте добили тражени тип података. Такође, уз практичну имплементацију примера кодова који се покрећу на „Спидер“ алату, поделили смо исход сваког примера. На крају смо елаборирали сваки корак како бисмо постигли жељени резултат.