У овом водичу ћемо видети како нацртати ПиСпарк податке на хистограму. Овде можемо видети два сценарија. Хистограм се креира на ПиСпарк Пандас ДатаФраме и на РДД подацима. За ова два сценарија, ПиСпарк обезбеђује две функције: писпарк.пандас.ДатаФраме.плот.хист() и писпарк.РДД.хистограм.
Тема садржаја:
- Исцртајте хистограм на ПиСпарк Пандас ДатаФраме
- Исцртајте хистограм на ПиСпарк Пандас ДатаФраме са параметром Бинс
- Исцртајте хистограм на ПиСпарк РДД тако што ћете навести број корпе
- Исцртајте хистограм на ПиСпарк РДД тако што ћете навести величину сваке корпе
Писпарк.пандас.ДатаФраме.плот.хист()
У овом сценарију, хистограм се приказује као приказ података налик графу који групише низ класа у колоне (из ПиСпарк Пандас ДатаФраме-а) заједно са хоризонталном к-осом. И-оса представља број појављивања у ПиСпарк Пандас ДатаФраме-у за сваку колону.
Синтакса:
писпарк_пандас_ДатаФраме.плот.хист(бинс,...)
Узима укупан број бинова као опциони параметар који је цео број и неке опционе аргументе кључне речи. Ако канте нису наведене за сваку колону, креира се трака.
Исцртајте хистограм на ПиСпарк Пандас ДатаФраме
Направите ПиСпарк Пандас ДатаФраме који има 2 колоне са 4 записа. Исцртајте хистограм без прослеђивања параметара функцији плот.хист().
из писпарк импорт пандасписпарк_пандас_датафраме=пандас.ДатаФраме({ 'висина_зграде' :[ 120.56 , 234.67 , 12.0 , 200.45 ], 'Буилдинг_Ареа' :[ 2 , 3 , 1 , 4 ]})
принт(писпарк_пандас_датафраме)
# ПиСпарк-Пандас хистограм
писпарк_пандас_датафраме.плот.хист()
Излаз:
Овде су називи колона „висина_зграде“ и „Површина_зграде“.
Погледајмо хистограм:
Укупан број редова у претходном ДатаФраме-у је 4. Дакле, креирају се 4 бина.
Исцртајте хистограм на ПиСпарк Пандас ДатаФраме са параметром Бинс
Направите ПиСпарк Пандас ДатаФраме који има 2 колоне са 4 записа. Исцртајте хистограм без прослеђивања параметара функцији плот.хист().
из писпарк импорт пандасписпарк_пандас_датафраме=пандас.ДатаФраме({ 'висина_зграде' :[ 120.56 , 234.67 , 12.0 , 200.45 ], 'Буилдинг_Ареа' :[ 2 , 3 , 1 , 4 ]})
# ПиСпарк-Пандас хистограм са 2 канте
писпарк_пандас_датафраме.плот.хист(бинс= 2 )
Излаз:
Овде су називи колона „висина_зграде“ и „Површина_зграде“.
Хајде да погледамо хистограм – црвена се односи на „подручје_зграде“, а плава на колону „висина_зграде“:
Као што смо навели, направљене су само 2 канте и 2 шипке. Четири реда су овде смештена у 2 корпе.
Исцртајте хистограм на ПиСпарк РДД тако што ћете навести број сегмента
Када радите са РДД-ом, хистограм се може вратити у облику скупа који укључује сегменте и укупне вредности које су присутне у сваком сегменту.
Синтакса:
писпарк_РДД.хистограм(буцкетс)У овом сценарију преносимо број кантица (цео број) који су укључени у хистограм. Враћа низ листа које укључују опсеге сегмента и одговарајућа појављивања вредности у следећем формату: ([опсези сегмента…], [појављивања вредности…]).
Пример 1:
Хајде да направимо РДД под називом „Висина_зграде“ са 10 вредности и направимо хистограм са 3 канте.
импорт писпаркиз писпарк.скл импорт СпаркСессион
из писпарк.рдд импорт РДД
спарк_апп = СпаркСессион.буилдер.аппНаме( 'линук' ).гетОрЦреате()
# Креирајте РДД са 10 вредности
Висина_здања =спарк_апп.спаркЦонтект.параллелизе([ 120.56 , 234.67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 78 , 90 , 100 ])
штампа ( 'Стварна: ' ,Буилдинг_хеигхт.цоллецт())
# Навођење 3 корпе
Буилдинг_хеигхт.хистограм( 3 )
Излаз:
- Буцкет-1 се креће од 12,0 до 86,223 : У овом опсегу, укупан број вредности присутних у корпи је 5.
- Буцкет-2 се креће од 86,223 до 160,446 : У овом опсегу, укупан број вредности присутних у корпи је 3.
- Буцкет-3 се креће од 160,446 до 234,67 : У овом опсегу, укупан број вредности присутних у корпи је 2.
Пример 2:
Направите хистограм са 2 канте на претходно креираном РДД-у.
импорт писпаркиз писпарк.скл импорт СпаркСессион
из писпарк.рдд импорт РДД
спарк_апп = СпаркСессион.буилдер.аппНаме( 'линук' ).гетОрЦреате()
# Креирајте РДД са 10 вредности
Висина_здања =спарк_апп.спаркЦонтект.параллелизе([ 120.56 , 234.67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 78 , 90 , 100 ])
штампа ( 'Стварна: ' ,Буилдинг_хеигхт.цоллецт())
# Одређивање 2 корпе
Буилдинг_хеигхт.хистограм( 2 )
Излаз:
- Буцкет 1 се креће од 12,0 до 123,335. У овом опсегу, укупан број вредности које су присутне у сегменту је 8.
- Група 2 се креће од 123,335 до 234,67: У овом опсегу, укупан број вредности које су присутне у сегменту је 2.
Исцртајте хистограм на ПиСпарк РДД тако што ћете навести величину сваке корпе
У претходном сценарију, проследили смо канте функцији РДД.хистограм(). Сада прослеђујемо величине корпуса једну за другом унутар листе и ову листу прослеђујемо као параметар овој функцији. Уверите се да морамо да наведемо најмање две корпе у растућем/узлазном редоследу и да неће имати дупле вредности.
Синтакса:
писпарк_РДД.хистограм([опсези корпе…])У овом сценарију преносимо број кантица (цео број) који су укључени у хистограм. Враћа низ листа које укључују опсеге сегмента и одговарајућа појављивања вредности у следећем формату: ([опсези сегмента…], [појављивања вредности…]).
Пример 1:
Хајде да направимо РДД под називом „Висина_зграде“ са 10 вредности и направимо хистограм са опсегом вредности [0, 50, 100, 150, 200, 250].
импорт писпаркиз писпарк.скл импорт СпаркСессион
из писпарк.рдд импорт РДД
спарк_апп = СпаркСессион.буилдер.аппНаме( 'линук' ).гетОрЦреате()
# Креирајте РДД са 10 вредности
Висина_здања =спарк_апп.спаркЦонтект.параллелизе([ 120.56 , 234.67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 178 , 90 , 100 ])
штампа ( 'Стварна: ' ,Буилдинг_хеигхт.цоллецт())
# Одређивање корпе са величином - [0,50,100,150,200,250]
Буилдинг_хеигхт.хистограм([ 0 , педесет , 100 , 150 , 200 , 250 ])
Излаз:
- Група 1: (0 до 50) : Укупне вредности у овој групи су 3.
- Група 1: (50 до 100) : Укупне вредности у овој групи су 2.
- Група 1: (100 до 150) : Укупне вредности у овој групи су 2.
- Корпа 1: (150 до 200) : Укупне вредности у овој групи су 2.
- Корпа 1: (200 до 250) : Укупне вредности у овој групи су 2.
Пример 2:
Направите хистограм са опсегом вредности [0, 100, 200, 300].
импорт писпаркиз писпарк.скл импорт СпаркСессион
из писпарк.рдд импорт РДД
спарк_апп = СпаркСессион.буилдер.аппНаме( 'линук' ).гетОрЦреате()
# Креирајте РДД са 10 вредности
Висина_здања =спарк_апп.спаркЦонтект.параллелизе([ 120.56 , 234.67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 178 , 90 , 100 ])
штампа ( 'Стварна: ' ,Буилдинг_хеигхт.цоллецт())
# Одређивање корпе са величином - [0,100,200,300]
Буилдинг_хеигхт.хистограм([ 0 , 100 , 200 , 300 ])
Излаз:
- Буцкет 1: (0 до 100). Укупна вредност у овој канти је 5.
- Канта 2: (100 до 200). Укупна вредност у овој канти је 3.
- Канта 3: (200 до 300). Укупна вредност у овој канти је 2.
Закључак
Видели смо како да креирамо хистограме у ПиСпарк-у на ПиСпарк Пандас ДатаФраме-у и РДД-у. хистограм() је функција која се користи за добијање хистограма на РДД подацима. плот.хист() се користи за приказ хистограма на ПиСпарк Пандас ДатаФраме-у. О овим функцијама смо разговарали на примерима покривајући све параметре.