- Шта је Пандас пакет
- Инсталација и почетак рада
- Учитавање података из ЦСВ датотека у Пандас ДатаФраме
- Шта је ДатаФраме и како то функционише
- Резање оквира података
- Математичке операције над ДатаФраме-ом
Ово изгледа пуно за покрити. Кренимо одмах.
Шта је пакет Питхон Пандас?
Према Пандасовој почетној страници: пандас је библиотека са отвореним извором, БСД-лиценцирана, пружа структуре података високих перформанси, једноставне за употребу и алате за анализу података за програмски језик Питхон.
Једна од најлепших ствари о Пандама је та што омогућава читање података из уобичајених формата података као што су ЦСВ, СКЛ итд. врло лако, што га чини подједнако употребљивим у производним апликацијама или само у неким демо апликацијама.
Инсталирајте Питхон Пандас
Само напомену пре започињања процеса инсталације, за ову лекцију користимо виртуелно окружење које смо направили следећом командом:
питхон -м виртуаленв пандеизворне панде / бин / активирај
Једном када је виртуелно окружење активно, можемо инсталирати библиотеку панда унутар виртуелне енв тако да се могу извршити примери које следећи креирамо:
пип инсталирати пандеИли можемо користити Цонда за инсталирање овог пакета следећом наредбом:
цонда инсталл пандасНешто слично видимо када извршимо горњу команду:
Када се инсталација заврши са Цонда, моћи ћемо да користимо пакет у нашим Питхон скриптама као:
увези панде као пдПочнимо сада да користимо Панде у нашим скриптама.
Читање ЦСВ датотеке са Пандас ДатаФрамес
Читање ЦСВ датотеке је лако са Пандасом. За демонстрацију смо направили малу ЦСВ датотеку са следећим садржајем:
Име, РоллНо, Датум пријема, контакт за хитне случајевеСхубхам, 1,20-05-2012,9988776655
Гаган, 2,20-05-2009,8364517829
Осхима, 3,20-05-2003,5454223344
Виом, 4,20-05-2009,1223344556
Анкур, 5,20-05-1999,9988776655
Винод, 6,20-05-1999,9988776655
Випин, 7,20-05-2002,9988776655
Ронак, 8,20-05-2007,1223344556
ДЈ, 9,20-05-2014,9988776655
ВЈ, 10,20-05-2015,9988776655
Сачувајте ову датотеку у истом директоријуму као и Питхон скрипта. Једном када је датотека присутна, додајте следећи исечак кода у Питхон датотеку:
увези панде као пдстуденти = пд.реад_цсв ("студенти.цсв ")
студенти.глава()
Једном када покренемо горњи исечак кода, видећемо следећи излаз:
Функција хеад () у Пандас-у се може користити за приказ узорка података присутних у ДатаФраме-у. Чекај, ДатаФраме? У следећем одељку ћемо проучити много више о ДатаФраме-у, али само схватити да је ДатаФраме н-димензионална структура података која се може користити за задржавање и анализу или сложене операције над скупом података.
Такође можемо видети колико редова и колона имају тренутни подаци:
студенти.обликЈедном када покренемо горњи исечак кода, видећемо следећи излаз:
Имајте на уму да Панде такође броје број редова почев од 0.
Могуће је добити само колону на листи са Пандама. То се може учинити помоћу индексирање у Пандама. Погледајмо кратки исечак кода за исти:
студент_намес = студентс ['Име']имена ученика
Једном када покренемо горњи исечак кода, видећемо следећи излаз:
Али то не личи на списак, зар не? Па, морамо изричито позвати функцију за претварање овог објекта у листу:
студентска имена = студентска имена.на листу()имена ученика
Једном када покренемо горњи исечак кода, видећемо следећи излаз:
Само за додатне информације, можемо бити сигурни да је сваки елемент на листи јединствен, а непразне елементе бирамо само додавањем неколико једноставних провера попут:
студент_намес = студентс ['Име'].дропна ().јединствен ().на листу()У нашем случају, излаз се неће променити јер листа већ не садржи погрешне вредности.
Такође можемо направити ДатаФраме са сировим подацима и заједно с њим проследити имена колона, као што је приказано у следећем исечку кода:
ми_дата = пд.Оквир података([
[1, „Чан“],
[2, „Смит“],
[3, „Винслет“]
],
колоне = ["Ранг", "Презиме"]
)
ми_дата
Једном када покренемо горњи исечак кода, видећемо следећи излаз:
Резање оквира података
Рашчлањивање оквира података ради издвајања само изабраних редова и колона је важна функционалност за задржавање пажње на потребним деловима података које треба да користимо. Због тога нам Пандас омогућава да нарежемо ДатаФраме по потреби и са изјавама попут:
- илоц [: 4 ,:] - бира прва 4 реда и све колоне за те редове.
- илоц [:,:] - изабран је комплетан ДатаФраме
- илоц [5:, 5:] - редови од положаја 5 надаље, а колоне од положаја 5 надаље.
- илоц [:, 0] - прва колона и сви редови колоне.
- илоц [9 ,:] - 10. ред и све колоне за тај ред.
У претходном одељку смо већ видели индексирање и резање са именима колона уместо индекса. Такође је могуће комбиновање резања са индексним бројевима и именима колона. Погледајмо једноставан фрагмент кода:
студенти.лоц [: 5, 'Име']Једном када покренемо горњи исечак кода, видећемо следећи излаз:
Могуће је навести више колона:
студенти.лоц [: 5, ['Име', 'Контакт за хитне случајеве']]Једном када покренемо горњи исечак кода, видећемо следећи излаз:
Структура података серије у Пандама
Баш као и Панде (која је вишедимензионална структура података), Серија је једнодимензионална структура података у Пандама. Када дохватимо једну колону из ДатаФраме-а, заправо радимо са серијом:
врста (студенти [„Име“])Једном када покренемо горњи исечак кода, видећемо следећи излаз:
Можемо конструисати и своју серију, ево исечка кода за исту:
серија = пд.Серија (['Схубхам', 3.7])серија
Једном када покренемо горњи исечак кода, видећемо следећи излаз:
Као што је јасно из горњег примера, серија такође може садржати више типова података за исту колону.
Логички филтри у Пандас ДатаФраме-у
Једна од добрих ствари у Пандас-у је како извући податке из ДатаФраме-а на основу услова. Попут извлачења ученика само када је број ролни већи од 6:
ролл_филтер = студентс ['РоллНо']> 6ролл_филтер
Једном када покренемо горњи исечак кода, видећемо следећи излаз:
Па, то нисмо очекивали. Иако је у излазу прилично експлицитно о томе који редови задовољавају филтер који смо обезбедили, али још увек немамо тачне редове који су задовољили тај филтер. Испало је то филтере можемо користити као индексе ДатаФраме такође:
студенти [ролл_филтер]Једном када покренемо горњи исечак кода, видећемо следећи излаз:
Могуће је користити више услова у филтру тако да се подаци могу филтрирати на једном сажетом филтру, попут:
нект_филтер = (студенти ['РоллНо']> 6) & (студенти ['Име']> 'С')студенти [следећи_филтер]
Једном када покренемо горњи исечак кода, видећемо следећи излаз:
Израчунавање медијане
У ДатаФраме-у можемо израчунати и многе математичке функције. Даћемо добар пример израчунавања медијане. Медијана ће се израчунати за датум, а не само за бројеве. Погледајмо кратки исечак кода за исти:
датуми = студенти ['Датум пријема'].астипе ('датетиме64 [нс]').квантил (.5)датуми
Једном када покренемо горњи исечак кода, видећемо следећи излаз:
То смо постигли тако што смо прво индексирали ступац са датумом, а затим пружили тип података колони како би Пандас могао правилно да закључи када примењује функцију квантила за израчунавање средњег датума.
Закључак
У овој лекцији смо погледали различите аспекте Пандасове библиотеке за обраду коју можемо користити са Питхоном за прикупљање података из различитих извора у структуру података ДатаФраме која нам омогућава софистицирано деловање на скупу података. Такође нам омогућава да добијемо подскуп података на којима желимо тренутно да радимо и пружа многе математичке операције.
Молимо поделите повратне информације о лекцији на Твиттеру са @сбмаггарвал и @ЛинукХинт.