Дата Сциенце

Водич за Питхон НумПи

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

Шта је Питхон НумПи пакет?

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

Један од најтемељнијих (и најатрактивнијих) концепата за НумПи је употреба Н-димензионалних објеката низа. Овај низ можемо узети као само збирка редова и колона, баш као МС-Екцел датотека. Могуће је претворити Питхон листу у НумПи низ и управљати функцијама преко ње.

Представљање НумПи низа

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

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

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

пип инсталл нумпи

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

Хајде да брзо тестирамо да ли је пакет НумПи правилно инсталиран помоћу следећег кратког исечка кода:

увоз нумпи као нп
а = нп.низ ([1,2,3])
испис (а)

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

Такође можемо имати вишедимензионалне низове са НумПи:

мулти_дименсион = нп.низ ([(1, 2, 3), (4, 5, 6)])
принт (мулти_дименсион)

Ово ће произвести излаз попут:

[[1 2 3]
[4 5 6]]

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

Коришћење НумПи низова преко Питхон листа

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

Пусти нас доказати да НумПи низови заузимају мање меморије. То се може учинити писањем врло једноставног Питхон програма:

увоз нумпи као нп
време увоза
импорт сис
питхон_лист = опсег (500)
испис (сис.гетсизеоф (1) * лен (питхон_лист))
нумпи_арр = нп.аранге (500)
принт (нумпи_арр.величина * нумпи_арр.итемсизе)

Када покренемо горњи програм, добићемо следећи излаз:

14000
4000

То показује да је иста листа величина више од 3 пута у величини у поређењу са низом НумПи исте величине.

Извођење НумПи операција

У овом одељку, хајде да на брзину прегледамо операције које се могу изводити на НумПи низовима.

Проналажење димензија у низу

Како се НумПи низ може користити у било којем димензионалном простору за чување података, димензију низа можемо пронаћи са следећим исечком кода:

увоз нумпи као нп
нумпи_арр = нп.низ ([(1,2,3), (4,5,6)])
принт (нумпи_арр.ндим)

Излаз ћемо видјети као „2“, јер је ово дводимензионални низ.

Проналажење типа података предмета у низу

НумПи низ можемо користити за држање било ког типа података. Хајде сада да сазнамо тип података података који низ садржи:

отхер_арр = нп.низ ([('страхопоштовање', 'б', 'мачка')])
принт (отхер_арр.дтипе)
нумпи_арр = нп.низ ([(1,2,3), (4,5,6)])
принт (нумпи_арр.дтипе)

У горе наведеном исечку кода користили смо различите врсте елемената. Ево резултата које ће показати ова скрипта:

инт64

То се дешава јер се знакови тумаче као уницоде знакови, а други је очигледан.

Преобликујте ставке низа

Ако се низ НумПи састоји од 2 реда и 4 колоне, може се преобликовати тако да садржи 4 реда и 2 колоне. Напишимо једноставан фрагмент кода за исто:

оригинал = нп.низ ([('1', 'б', 'ц', '4'), ('5', 'ф', 'г', '8')])
принт (оригинал)
преобликован = оригиналан.преобликовати (4, 2)
штампа (преобликована)

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

[['1' 'б' 'ц' '4']
['5' 'ф' 'г' '8']]
[['1' 'б']
['ц' '4']
['5' 'ф']
['г' '8']]

Обратите пажњу на то како се НумПи побринуо за премештање и повезивање елемената у нове редове.

Математичке операције над ставкама низа

Извођење математичких операција на ставкама низа је врло једноставно. Започет ћемо писањем једноставног исечка кода да бисмо сазнали максимум, минимум и додавање свих ставки низа. Ево исечка кода:

нумпи_арр = нп.низ ([(1, 2, 3, 4, 5)])
принт (нумпи_арр.макс. ())
принт (нумпи_арр.мин ())
принт (нумпи_арр.сума ())
принт (нумпи_арр.значити())
испис (нп.скрт (нумпи_арр))
испис (нп.стд (нумпи_арр))

У последње 2 горње операције такође смо израчунали квадратни корен и стандардну девијацију сваке ставке низа. Горњи исечак ће пружити следеће резултате:

5
1
15
3.0
[[1.   1.41421356 1.73205081 2.   2.23606798]]
1.4142135623730951

Претварање Питхон листа у НумПи низове

Чак и ако користите Питхон листе у постојећим програмима и не желите да промените сав тај код, али и даље желите да користите НумПи низове у свом новом коду, добро је знати да Питхон можемо лако претворити списак у низ НумПи. Ево примера:

# Направите 2 нове листе висине и тежине
висина = [2.37, 2.87, 1.52, 1.51, 1.70, 2.05]
тежина = [91.65, 97.52, 68.25, 88.98, 86.18, 88.45]
# Направите 2 нумпи низа од висине и тежине
нп_хеигхт = нп.низ (висина)
нп_веигхт = нп.низ (тежина)

Само да проверимо, сада можемо одштампати тип једне од променљивих:

испис (врста (нп_хеигхт))

И ово ће показати:

Сада можемо извршавати математичке операције над свим ставкама одједном. Погледајмо како можемо израчунати БМИ људи:

# Израчунај бми
бми = нп_веигхт / нп_хеигхт ** 2
# Одштампајте резултат
штампај (бми)

Ово ће показати БМИ свих људи израчунатих по елементима:

[16.31682957 11.8394056 29.54033934 39.02460418 29.8200692 21.04699584]

Није ли то лако и згодно? Чак можемо лако филтрирати податке са условом уместо индекса у угластим заградама:

бми [бми> 25]

Ово ће дати:

низ ([29.54033934, 39.02460418, 29.8200692])

Створите случајне секвенце и понављања помоћу НумПи-а

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

испис (нп.аранге (5))

Ово ће вратити излаз као:

[0 1 2 3 4]

Иста функција се може користити за пружање ниже вредности тако да низ почиње од бројева који нису 0:

испис (нп.аранге (4, 12))

Ово ће вратити излаз као:

[4 5 6 7 8 9 10 11]

Бројеви не морају бити континуирани, они могу прескочити корак поправљања попут:

испис (нп.аранге (4, 14, 2))

Ово ће вратити излаз као:

[4 6 8 10 12]

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

испис (нп.аранге (14, 4, -1))

Ово ће вратити излаз као:

[14 13 12 11 10 9 8 7 6 5]

Могуће је финансирати н бројева између к и и једнаким размаком методом линспаце, ево исечка кода за исти:

нп.Линспаце (старт = 10, стоп = 70, нум = 10, дтипе = инт)

Ово ће вратити излаз као:

низ ([10, 16, 23, 30, 36, 43, 50, 56, 63, 70])

Имајте на уму да излазне ставке нису подједнако распоређене. НумПи чини све да то учини, али не морате се ослањати на њега као на заокруживање.

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

испис (нп.случајни.рандинт (0, 10, величина = [2,2]))

Горњи исечак креира дводимензионални НумПи низ који ће садржати случајне бројеве између 0 и 10. Ево примера резултата:

[[0 4]
[8 3]]

Имајте на уму како су бројеви случајни, излаз се може разликовати чак и између 2 покретања на истој машини.

Закључак

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

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

10 најбољих игара за играње на Убунту-у
Виндовс платформа је била једна од доминантних платформи за играње игара због огромног процента игара које се данас развијају да би подржале Виндовс. ...
5 најбољих аркадних игара за Линук
У данашње време рачунари су озбиљне машине које се користе за игре на срећу. Ако не успете да добијете нови високи резултат, знаћете на шта мислим. У ...
Битка за Веснотх 1.13.6 Развој објављен
Битка за Веснотх 1.13.6 објављено прошлог месеца, шесто је развојно издање у издању 1.13.к сериес и доноси низ побољшања, посебно корисничког интерфеј...