панде

Водич за панде у Питхону

Водич за панде у Питхону
У овој лекцији о библиотеци Питхон Пандас, размотрићемо различите структуре података које овај Питхон пакет пружа за брзе функције обраде података које су ефикасне за динамичке податке и управљање сложеним операцијама над вишедимензионалним подацима. У овој лекцији ћемо углавном обрадити:

Ово изгледа пуно за покрити. Кренимо одмах.

Шта је пакет Питхон Пандас?

Према Пандасовој почетној страници: пандас је библиотека са отвореним извором, БСД-лиценцирана, пружа структуре података високих перформанси, једноставне за употребу и алате за анализу података за програмски језик Питхон.

Једна од најлепших ствари о Пандама је та што омогућава читање података из уобичајених формата података као што су ЦСВ, СКЛ итд. врло лако, што га чини подједнако употребљивим у производним апликацијама или само у неким демо апликацијама.

Инсталирајте Питхон Пандас

Само напомену пре започињања процеса инсталације, за ову лекцију користимо виртуелно окружење које смо направили следећом командом:

питхон -м виртуаленв панде
изворне панде / бин / активирај

Једном када је виртуелно окружење активно, можемо инсталирати библиотеку панда унутар виртуелне енв тако да се могу извршити примери које следећи креирамо:

пип инсталирати панде

Или можемо користити Цонда за инсталирање овог пакета следећом наредбом:

цонда инсталл пандас

Нешто слично видимо када извршимо горњу команду:

Када се инсталација заврши са Цонда, моћи ћемо да користимо пакет у нашим Питхон скриптама као:

увези панде као пд

Почнимо сада да користимо Панде у нашим скриптама.

Читање ЦСВ датотеке са Пандас ДатаФрамес

Читање ЦСВ датотеке је лако са Пандасом. За демонстрацију смо направили малу ЦСВ датотеку са следећим садржајем:

Име, РоллНо, Датум пријема, контакт за хитне случајеве
Схубхам, 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, „Винслет“]
],
колоне = ["Ранг", "Презиме"]
)
ми_дата

Једном када покренемо горњи исечак кода, видећемо следећи излаз:

Резање оквира података

Рашчлањивање оквира података ради издвајања само изабраних редова и колона је важна функционалност за задржавање пажње на потребним деловима података које треба да користимо. Због тога нам Пандас омогућава да нарежемо ДатаФраме по потреби и са изјавама попут:

У претходном одељку смо већ видели индексирање и резање са именима колона уместо индекса. Такође је могуће комбиновање резања са индексним бројевима и именима колона. Погледајмо једноставан фрагмент кода:

студенти.лоц [: 5, 'Име']

Једном када покренемо горњи исечак кода, видећемо следећи излаз:

Могуће је навести више колона:

студенти.лоц [: 5, ['Име', 'Контакт за хитне случајеве']]

Једном када покренемо горњи исечак кода, видећемо следећи излаз:

Структура података серије у Пандама

Баш као и Панде (која је вишедимензионална структура података), Серија је једнодимензионална структура података у Пандама. Када дохватимо једну колону из ДатаФраме-а, заправо радимо са серијом:

врста (студенти [„Име“])

Једном када покренемо горњи исечак кода, видећемо следећи излаз:

Можемо конструисати и своју серију, ево исечка кода за исту:

серија = пд.Серија (['Схубхам', 3.7])
серија

Једном када покренемо горњи исечак кода, видећемо следећи излаз:

Као што је јасно из горњег примера, серија такође може садржати више типова података за исту колону.

Логички филтри у Пандас ДатаФраме-у

Једна од добрих ствари у Пандас-у је како извући податке из ДатаФраме-а на основу услова. Попут извлачења ученика само када је број ролни већи од 6:

ролл_филтер = студентс ['РоллНо']> 6
ролл_филтер

Једном када покренемо горњи исечак кода, видећемо следећи излаз:

Па, то нисмо очекивали. Иако је у излазу прилично експлицитно о томе који редови задовољавају филтер који смо обезбедили, али још увек немамо тачне редове који су задовољили тај филтер. Испало је то филтере можемо користити као индексе ДатаФраме такође:

студенти [ролл_филтер]

Једном када покренемо горњи исечак кода, видећемо следећи излаз:

Могуће је користити више услова у филтру тако да се подаци могу филтрирати на једном сажетом филтру, попут:

нект_филтер = (студенти ['РоллНо']> 6) & (студенти ['Име']> 'С')
студенти [следећи_филтер]

Једном када покренемо горњи исечак кода, видећемо следећи излаз:

Израчунавање медијане

У ДатаФраме-у можемо израчунати и многе математичке функције. Даћемо добар пример израчунавања медијане. Медијана ће се израчунати за датум, а не само за бројеве. Погледајмо кратки исечак кода за исти:

датуми = студенти ['Датум пријема'].астипе ('датетиме64 [нс]').квантил (.5)
датуми

Једном када покренемо горњи исечак кода, видећемо следећи излаз:

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

Закључак

У овој лекцији смо погледали различите аспекте Пандасове библиотеке за обраду коју можемо користити са Питхоном за прикупљање података из различитих извора у структуру података ДатаФраме која нам омогућава софистицирано деловање на скупу података. Такође нам омогућава да добијемо подскуп података на којима желимо тренутно да радимо и пружа многе математичке операције.

Молимо поделите повратне информације о лекцији на Твиттеру са @сбмаггарвал и @ЛинукХинт.

Битка за Веснотх 1.13.6 Развој објављен
Битка за Веснотх 1.13.6 објављено прошлог месеца, шесто је развојно издање у издању 1.13.к сериес и доноси низ побољшања, посебно корисничког интерфеј...
Како инсталирати Леагуе Оф Легендс на Убунту 14.04
Ако сте љубитељ Леагуе оф Легендс, ово је прилика да тестирате Леагуе оф Легендс. Имајте на уму да је ЛОЛ подржан на ПлаиОнЛинук ако сте корисник лину...
Инсталирајте најновију ОпенРА Стратеги Гаме на Убунту Линук
ОпенРА је Либре / Фрее Реал Тиме стратешки механизам који ствара ране Вествоод игре попут класичне Цомманд & Цонкуер: Ред Алерт. Дистрибуирани модови ...