Писпарк.скл.ДатаФраме.селецтЕкпр()
Селецтекпр() функција узима колоне/скуп израза и враћа ДатаФраме на основу наведених израза/колона. У овој функцији може се навести више израза који су одвојени зарезом. Да бисмо приказали ДатаФраме, можемо користити функције схов()/цоллецт().
Синтакса:
писпарк_ДатаФраме_објецт.селецтЕкпр(“Колоне”/”Изрази”)
Овде је писпарк_ДатаФраме_објецт улазни ПиСпарк ДатаФраме.
Сценарио 1: Изаберите колоне
У овом сценарију, видећемо како да изаберете одређене колоне из ПиСпарк ДатаФраме-а користећи функцију селецтЕкпр().
Израз који се користи је „постојећа_колона као ново_име“. Овде је постојећи_колона име колоне које је присутно у ДатаФраме-у и приказује се као ново_наме (Алиасинг).
Пример:
Направите ПиСпарк ДатаФраме под називом „агри_дф“ са 5 редова и колона. Добијте колоне „Соил_статус“ и „Соил_Типе“ као „СТАТУС“ и „ТИПЕ“.
импорт писпаркиз писпарк.скл импорт СпаркСессион
линукхинт_спарк_апп = СпаркСессион.буилдер.аппНаме( 'Линук савет' ).гетОрЦреате()
# пољопривредни подаци са 5 редова и 5 колона
агри =[{ 'Тло_Тип' : 'Црн' , 'Иригатион_аваилабилити' : 'Не' , 'Ацре' : 2500 , 'Соил_статус' : 'СУВ' ,
'држава' : 'САД' },
{ 'Тло_Тип' : 'Црн' , 'Иригатион_аваилабилити' : 'Да' , 'Ацре' : 3500 , 'Соил_статус' : 'Мокар' ,
'држава' : 'Индија' },
{ 'Тло_Тип' : Ниједан , 'Иригатион_аваилабилити' : 'Да' , 'Ацре' : 210 , 'Соил_статус' : 'СУВ' ,
'држава' : 'УК' },
{ 'Тло_Тип' : 'Остало' , 'Иригатион_аваилабилити' : 'Не' , 'Ацре' : 1000 , 'Соил_статус' : 'Мокар' ,
'држава' : 'САД' },
{ 'Тло_Тип' : 'Песак' , 'Иригатион_аваилабилити' : 'Не' , 'Ацре' : 500 , 'Соил_статус' : 'СУВ' ,
'држава' : 'Индија' }]
# креирајте оквир података од горњих података
агри_дф = линукхинт_спарк_апп.цреатеДатаФраме(агри)
# Добијте Соил_статус и Соил_Типе као 'СТАТУС' и 'ТИПЕ'.
агри_дф.селецтЕкпр( „Соил_статус као СТАТУС“ , „Тло_Тип као ТИПЕ“ ).Прикажи()
Излаз:
Сценарио 2: Одређивање условних израза
У овом сценарију, видећемо како да проценимо услове унутар функције селецтЕкпр().
Израз који се користи је „вредност оператора постојеће_колоне“. Овде је постојећи_колона име колоне које је присутно у ДатаФраме-у и ми упоређујемо сваку вредност у овој колони са стрингом/вредношћу.
Пример 1:
Проверите да ли је земља „САД“ или не. Овде се користи оператор једнакости (=).
импорт писпаркиз писпарк.скл импорт СпаркСессион
линукхинт_спарк_апп = СпаркСессион.буилдер.аппНаме( 'Линук савет' ).гетОрЦреате()
# пољопривредни подаци са 5 редова и 5 колона
агри =[{ 'Тло_Тип' : 'Црн' , 'Иригатион_аваилабилити' : 'Не' , 'Ацре' : 2500 , 'Соил_статус' : 'СУВ' ,
'држава' : 'САД' },
{ 'Тло_Тип' : 'Црн' , 'Иригатион_аваилабилити' : 'Да' , 'Ацре' : 3500 , 'Соил_статус' : 'Мокар' ,
'држава' : 'Индија' },
{ 'Тло_Тип' : Ниједан , 'Иригатион_аваилабилити' : 'Да' , 'Ацре' : 210 , 'Соил_статус' : 'СУВ' ,
'држава' : 'УК' },
{ 'Тло_Тип' : 'Остало' , 'Иригатион_аваилабилити' : 'Не' , 'Ацре' : 1000 , 'Соил_статус' : 'Мокар' ,
'држава' : 'САД' },
{ 'Тло_Тип' : 'Песак' , 'Иригатион_аваилабилити' : 'Не' , 'Ацре' : 500 , 'Соил_статус' : 'СУВ' ,
'држава' : 'Индија' }]
# креирајте оквир података од горњих података
агри_дф = линукхинт_спарк_апп.цреатеДатаФраме(агри)
# Проверите да ли је земља 'САД' или не.
агри_дф.селецтЕкпр( „Земља = „САД““ ).Прикажи()
Излаз:
Пример 2:
Проверите да ли је Соил_Типе НУЛЛ или не. Кључна реч НУЛЛ проверава да ли је вредност НУЛЛ или не. Ако је нулл, враћа се труе. У супротном, враћа се фалсе. Коначни израз је „Тло_Тип ЈЕ НУЛЛ“
импорт писпаркиз писпарк.скл импорт СпаркСессион
линукхинт_спарк_апп = СпаркСессион.буилдер.аппНаме( 'Линук савет' ).гетОрЦреате()
# пољопривредни подаци са 5 редова и 5 колона
агри =[{ 'Тло_Тип' : 'Црн' , 'Иригатион_аваилабилити' : 'Не' , 'Ацре' : 2500 , 'Соил_статус' : 'СУВ' ,
'држава' : 'САД' },
{ 'Тло_Тип' : 'Црн' , 'Иригатион_аваилабилити' : 'Да' , 'Ацре' : 3500 , 'Соил_статус' : 'Мокар' ,
'држава' : 'Индија' },
{ 'Тло_Тип' : Ниједан , 'Иригатион_аваилабилити' : 'Да' , 'Ацре' : 210 , 'Соил_статус' : 'СУВ' ,
'држава' : 'УК' },
{ 'Тло_Тип' : 'Остало' , 'Иригатион_аваилабилити' : 'Не' , 'Ацре' : 1000 , 'Соил_статус' : 'Мокар' ,
'држава' : 'САД' },
{ 'Тло_Тип' : 'Песак' , 'Иригатион_аваилабилити' : 'Не' , 'Ацре' : 500 , 'Соил_статус' : 'СУВ' ,
'држава' : 'Индија' }]
# креирајте оквир података од горњих података
агри_дф = линукхинт_спарк_апп.цреатеДатаФраме(агри)
# Проверите да ли је Соил_Типе НУЛЛ или не.
агри_дф.селецтЕкпр( „Тло_Тип ЈЕ НУЛЛ“ ).Прикажи()
Излаз:
Сценарио 3: Вредновање израза
У овом сценарију, видећемо како да наведемо математичке изразе. Израз који се користи је „математички_израз постојећег_колона“.
Пример:
- Прикажите стварну колону „Ацре“.
- Додајте 100 у колону „Ацре“.
- Одузмите 100 од колоне „Ацре“.
- Помножите 100 са колоном „Ацре“.
- Поделите колону „Акри“ са 100.
из писпарк.скл импорт СпаркСессион
линукхинт_спарк_апп = СпаркСессион.буилдер.аппНаме( 'Линук савет' ).гетОрЦреате()
# пољопривредни подаци са 5 редова и 5 колона
агри =[{ 'Тло_Тип' : 'Црн' , 'Иригатион_аваилабилити' : 'Не' , 'Ацре' : 2500 , 'Соил_статус' : 'СУВ' ,
'држава' : 'САД' },
{ 'Тло_Тип' : 'Црн' , 'Иригатион_аваилабилити' : 'Да' , 'Ацре' : 3500 , 'Соил_статус' : 'Мокар' ,
'држава' : 'Индија' },
{ 'Тло_Тип' : Ниједан , 'Иригатион_аваилабилити' : 'Да' , 'Ацре' : 210 , 'Соил_статус' : 'СУВ' ,
'држава' : 'УК' },
{ 'Тло_Тип' : 'Остало' , 'Иригатион_аваилабилити' : 'Не' , 'Ацре' : 1000 , 'Соил_статус' : 'Мокар' ,
'држава' : 'САД' },
{ 'Тло_Тип' : 'Песак' , 'Иригатион_аваилабилити' : 'Не' , 'Ацре' : 500 , 'Соил_статус' : 'СУВ' ,
'држава' : 'Индија' }]
# креирајте оквир података од горњих података
агри_дф = линукхинт_спарк_апп.цреатеДатаФраме(агри)
# Напишите 4 израза за одузимање, сабирање, дељење и множење колоне Ацрес.
агри_дф.селецтЕкпр( 'Ацре' , 'Ацре - 100' , 'Ацре * 100' , 'Ацре + 100' , 'Ацре / 100' ).Прикажи()
Излаз:
Сценарио 4: Примена агрегатних функција
СУМ(име_колоне) – Процењује укупну вредност у наведеној колони.
МЕАН(име_колоне) – Процењује просечну вредност у наведеној колони.
МИН(име_колоне) – Враћа минимални елемент међу свим елементима у наведеној колони.
МАКС(име_колоне) – Враћа максимални елемент међу свим елементима у наведеној колони.
Пример:
- Пронађите укупан, просек, број, минимум и максималне елементе „Ацре“.
- Пронађите минималне и максималне елементе у колони „Соил_статус“.
из писпарк.скл импорт СпаркСессион
линукхинт_спарк_апп = СпаркСессион.буилдер.аппНаме( 'Линук савет' ).гетОрЦреате()
# пољопривредни подаци са 5 редова и 5 колона
агри =[{ 'Тло_Тип' : 'Црн' , 'Иригатион_аваилабилити' : 'Не' , 'Ацре' : 2500 , 'Соил_статус' : 'СУВ' ,
'држава' : 'САД' },
{ 'Тло_Тип' : 'Црн' , 'Иригатион_аваилабилити' : 'Да' , 'Ацре' : 3500 , 'Соил_статус' : 'Мокар' ,
'држава' : 'Индија' },
{ 'Тло_Тип' : Ниједан , 'Иригатион_аваилабилити' : 'Да' , 'Ацре' : 210 , 'Соил_статус' : 'СУВ' ,
'држава' : 'УК' },
{ 'Тло_Тип' : 'Остало' , 'Иригатион_аваилабилити' : 'Не' , 'Ацре' : 1000 , 'Соил_статус' : 'Мокар' ,
'држава' : 'САД' },
{ 'Тло_Тип' : 'Песак' , 'Иригатион_аваилабилити' : 'Не' , 'Ацре' : 500 , 'Соил_статус' : 'СУВ' ,
'држава' : 'Индија' }]
# креирајте оквир података од горњих података
агри_дф = линукхинт_спарк_апп.цреатеДатаФраме(агри)
# Агрегатне операције
агри_дф.селецтЕкпр( „СУМ (јутара)“ , „МЕАН (Ацре)“ , „ЦОУНТ(јутара)“ , „АВГ (јутара)“ , „МИН (јутара)“ ,
„МАКС (јутара)“ ).Прикажи()
агри_дф.селецтЕкпр( „МИН(статус_тла)“ , „МАКС(статус_тла)“ ).Прикажи()
Излаз:
Закључак
Разговарали смо о функцији селецтЕкпр() која узима колоне/скупове израза и враћа ДатаФраме на основу наведених израза/колона. Као део овога, научили смо четири главна сценарија у којима је селецтЕкпр() применљив. У овој функцији може се навести више израза који су одвојени зарезом. Нема потребе да креирате ПРИВРЕМЕНИ ПРИКАЗ да бисте користили функцију селецтЕкпр().