панди

Урок за Pandas в Python

Урок за Pandas в Python
В този урок за библиотеката на Python Pandas ще разгледаме различни структури от данни, които този пакет Python предоставя за бързи функции за обработка на данни, които са ефективни за динамични данни и управление на сложни операции над многоизмерни данни. В този урок ще разгледаме основно:

Това изглежда много за покриване. Нека започнем сега.

Какво представлява пакетът Python Pandas?

Според началната страница на Pandas: pandas е библиотека с лиценз BSD с отворен код, предоставяща високоефективни, лесни за използване структури от данни и инструменти за анализ на данни за езика за програмиране Python.

Едно от най-страхотните неща за Pandas е, че прави четенето на данни от често срещани формати на данни като CSV, SQL и т.н. много лесно, което го прави еднакво използваем в приложения от производствен клас или само в някои демонстрационни приложения.

Инсталирайте Python Pandas

Само бележка преди стартиране на инсталационния процес, ние използваме виртуална среда за този урок, който направихме със следната команда:

python -m virtualenv pandas
изходни панди / кош / активиране

След като виртуалната среда е активна, можем да инсталираме библиотека за панди във виртуалната среда, така че примери, които създаваме след това, да могат да бъдат изпълнени:

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

Или можем да използваме Conda, за да инсталираме този пакет със следната команда:

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

Виждаме нещо подобно, когато изпълняваме горната команда:

След като инсталацията завърши с Conda, ще можем да използваме пакета в нашите Python скриптове като:

импортирайте панди като pd

Нека започнем да използваме Pandas в нашите скриптове сега.

Четене на CSV файл с Pandas DataFrames

Четенето на CSV файл е лесно с Pandas. За демонстрация създадохме малък CSV файл със следното съдържание:

Име, RollNo, дата на приемане, спешен контакт
Шубам, 1,20-05-2012,9988776655
Гаган, 2,20-05-2009,8364517829
Ошима, 3,20-05-2003,5454223344
Vyom, 4,20-05-2009,1223344556
Анкур, 5,20-05-1999,9988776655
Vinod, 6,20-05-1999,9988776655
Випин, 7,20-05-2002,9988776655
Ронак, 8,20-05-2007,1223344556
DJ, 9,20-05-2014,9988776655
VJ, 10,20-05-2015,9988776655

Запазете този файл в същата директория като на скрипта на Python. След като файлът присъства, добавете следния кодов фрагмент във файл на Python:

импортирайте панди като pd
ученици = pd.read_csv ("ученици.csv ")
ученици.глава()

След като стартираме горния кодов фрагмент, ще видим следния изход:

Функцията head () в Pandas може да се използва за показване на извадка от данни, присъстващи в DataFrame. Изчакайте, DataFrame? Ще проучим много повече за DataFrame в следващия раздел, но просто ще разберем, че DataFrame е n-измерна структура от данни, която може да се използва за задържане и анализ или сложни операции над набор от данни.

Също така можем да видим колко редове и колони имат текущите данни:

ученици.форма

След като стартираме горния кодов фрагмент, ще видим следния изход:

Имайте предвид, че Pandas също отчитат броя на редовете, започващи от 0.

Възможно е да получите само колона в списък с Pandas. Това може да стане с помощта на индексиране в Пандас. Нека разгледаме кратък кодов фрагмент за същото:

student_names = students ['Name']
имена на ученици

След като стартираме горния кодов фрагмент, ще видим следния изход:

Но това не прилича на списък, нали? Е, трябва изрично да извикаме функция, която да преобразува този обект в списък:

student_names = имена на студенти.tolist ()
имена на ученици

След като стартираме горния кодов фрагмент, ще видим следния изход:

Само за допълнителна информация можем да се уверим, че всеки елемент в списъка е уникален и избираме само непразни елементи, като добавяме няколко прости проверки като:

student_names = students ['Name'].dropna ().единствен по рода си().tolist ()

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

Също така можем да направим DataFrame със сурови данни и да предадем имената на колоните заедно с него, както е показано в следния кодов фрагмент:

my_data = pd.DataFrame (
[
[1, „Чан“],
[2, „Смит“],
[3, „Уинслет“]
],
колони = ["Ранг", "Фамилия"]
)
my_data

След като стартираме горния кодов фрагмент, ще видим следния изход:

Нарязване на рамки за данни

Разбиването на DataFrames за извличане само на избраните редове и колони е важна функционалност, за да се внимава към необходимите части от данни, които трябва да използваме. За това Pandas ни позволява да нарязваме DataFrame, когато и когато е необходимо, с изявления като:

В предишния раздел вече видяхме индексиране и нарязване с имена на колони вместо индексите. Възможно е също така да се смесва нарязването с индексни номера и имена на колони. Нека разгледаме прост кодов фрагмент:

ученици.loc [: 5, 'Име']

След като стартираме горния кодов фрагмент, ще видим следния изход:

Възможно е да се посочат повече от една колона:

ученици.loc [: 5, ['Name', 'Emergency Contact']]

След като стартираме горния кодов фрагмент, ще видим следния изход:

Структура на серийните данни в Pandas

Подобно на Pandas (което е многомерна структура от данни), Series е едномерна структура на данни в Pandas. Когато извличаме една колона от DataFrame, всъщност работим със серия:

тип (ученици [„Име“])

След като стартираме горния кодов фрагмент, ще видим следния изход:

Можем да изградим и наша собствена Серия, ето кодов фрагмент за същото:

серия = pd.Серия (['Shubham', 3.7])
серия

След като стартираме горния кодов фрагмент, ще видим следния изход:

Както става ясно от примера по-горе, серия може да съдържа множество типове данни и за една и съща колона.

Булеви филтри в Pandas DataFrame

Едно от хубавите неща в Pandas е как се извлича данни от DataFrame въз основа на условие. Подобно на извличането на ученици само когато броят на номерата е по-голям от 6

roll_filter = ученици ['RollNo']> 6
ролков_филтър

След като стартираме горния кодов фрагмент, ще видим следния изход:

Е, не това очаквахме. Въпреки че изходът е съвсем ясен за това кои редове отговарят на филтъра, който сме предоставили, но все още нямаме точните редове, които са удовлетворили този филтър. Оказва се, че можем да използваме филтри като индекси на DataFrame както и:

студенти [roll_filter]

След като стартираме горния кодов фрагмент, ще видим следния изход:

Възможно е да се използват множество условия във филтър, така че данните да могат да бъдат филтрирани в един кратък филтър, като:

next_filter = (ученици ['RollNo']> 6) & (ученици ['Име']> 'S')
ученици [следващ_филтър]

След като стартираме горния кодов фрагмент, ще видим следния изход:

Изчислителна медиана

В DataFrame можем да изчислим и много математически функции. Ще дадем добър пример за изчисляване на медианата. Медианата ще бъде изчислена за дата, а не само за числа. Нека разгледаме кратък кодов фрагмент за същото:

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

След като стартираме горния кодов фрагмент, ще видим следния изход:

Постигнахме това, като първо индексирахме колоната с дата, която имаме, и след това предоставихме тип данни на колоната, така че Pandas да може да я изведе правилно, когато прилага функцията на квантила за изчисляване на средната дата.

Заключение

В този урок разгледахме различни аспекти на библиотеката за обработка на Pandas, която можем да използваме с Python за събиране на данни от различни източници в структура от данни на DataFrame, която ни позволява да работим сложно с набор от данни. Също така ни позволява да получим подмножество от данни, върху които искаме да работим за момент, и предоставя много математически операции.

Моля, споделете отзивите си за урока в Twitter с @sbmaggarwal и @LinuxHint.

Курсорът скача или се движи произволно, докато пишете в Windows 10
Ако установите, че курсорът на вашата мишка скача или се движи самостоятелно, автоматично, произволно, докато пишете в лаптоп или компютър на Windows,...
Как да обърнете посоката на превъртане на мишката и тъчпада в Windows 10
Мишка и Тъчпадs не само правят изчисленията лесни, но и по-ефективни и отнемат по-малко време. Не можем да си представим живот без тези устройства, но...
Как да промените курсора на мишката и размера на курсора, цвета и схемата в Windows 10
Показалецът на мишката и курсорът в Windows 10 са много важни аспекти на операционната система. Това може да се каже и за други операционни системи, т...