панде

Како се придружити оквирима података у Пандас Питхон-у?

Како се придружити оквирима података у Пандас Питхон-у?
Пандас ДатаФраме је дводимензионална (2Д) структура података која је поравната у табеларном формату. Ови оквири података могу се комбиновати помоћу различитих метода као што су цонцат (), мерге () и придруживања. Панде имају високе перформансе и операције удруживања са пуним функцијама које су сличне СКЛ релационој бази података. Користећи функцију спајања, операције спајања могу се имплементирати између објеката ДатаФрамес.

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

Употреба функције спајања

Основна уобичајена синтакса функције мерге () дата је у наставку:

пд.спајање (дф_обј1, дф_обј2, како = 'унутрашњи', укључен = Ниједан, леви_он = Ниједан, десни_он = Нема)

Објаснимо детаље параметара:

Прва два дф_обј1 и дф_обј2 Аргументи су имена ДатаФраме објеката или табела.

какоПараметар се користи за различите типове операција спајања као што су „лево, десно, спољно и унутрашње“. Функција спајања подразумевано користи операцију „унутрашњег“ спајања.

Аргумент "на" садржи име колоне на којој се изводи операција спајања. Ова колона мора бити присутна у оба ДатаФраме објекта.

У аргументима „лефт_он“ и „ригхт_он“, „лефт_он“ је име назива колоне као кључ у левом ДатаФраме-у. „Ригхт_он“ је назив колоне која се користи као кључ десног ДатаФраме-а.

Да бисмо разрадили концепт придруживања ДатаФрамес-у, узели смо два ДатаФраме објекта - производ и купац. Следећи детаљи су присутни у производу ДатаФраме:

производ = пд.Оквир података(
'Продуцт_ИД': [101,102,103,104,105,106,107],
„Продуцт_Наме“: [„слушалице“, „Торба“, „Ципеле“, „Смартпхоне“, „четкица за зубе“, „ручни сат“, „Лаптоп“],
„Категорија“: [„Електроника“, „Мода“, „Мода“, „Електроника“, „Прехрана“, „Мода“, „Електроника“],
„Цена“: [300.0,1000.50,2000.0,21999.0,145.0,1500.0,90999.0],
'Селлер_Цити': ['Исламабад', 'Лахоре', 'Карацхи', 'Равалпинди', 'Исламабад', 'Карацхи', 'Фаисалабад']
)

Кориснички ДатаФраме садржи следеће детаље:

купац = пд.Оквир података(
'ИД': [1,2,3,4,5,6,7,8,9],
'Цустомер_Наме': ['Сара', 'Сана', 'Али', 'Раеес', 'Махвисх', 'Умар', 'Мирха', 'Асиф', 'Мариа'],
'Старост': [20,21,15,10,31,52,15,18,16],
'Продуцт_ИД': [101,0,106,0,103,104,0,0,107],
„Купљени производ“: [„слушалице“, „НА“, „ручни сат“, „НА“, „Ципеле“, „Паметни телефон“, „НА“, „НА“, „Лаптоп“],
'Цустомер_Цити': ['Лахоре', 'Исламабад', 'Фаисалабад', 'Карацхи', 'Карацхи', 'Исламабад', 'Равалпинди', 'Исламабад',
'Лахоре']
)

Придружите се оквирима података на кључу

Лако можемо пронаћи производе који се продају на мрежи и купце који су их купили. Дакле, на основу кључа „Продуцт_ИД“, извршили смо операцију унутрашњег спајања на оба ДатаФрамес-а на следећи начин:

# увези библиотеку Пандас
увези панде као пд
производ = пд.Оквир података(
'Продуцт_ИД': [101,102,103,104,105,106,107],
„Продуцт_Наме“: [„слушалице“, „Торба“, „Ципеле“, „Смартпхоне“, „четкица за зубе“, „ручни сат“, „Лаптоп“],
„Категорија“: [„Електроника“, „Мода“, „Мода“, „Електроника“, „Намирнице“, „Мода“, „Електроника“],
„Цена“: [300.0,1000.50,2000.0,21999.0,145.0,1500.0,90999.0],
'Селлер_Цити': ['Исламабад', 'Лахоре', 'Карацхи', 'Равалпинди', 'Исламабад', 'Карацхи', 'Фаисалабад']
)
купац = пд.Оквир података(
'ИД': [1,2,3,4,5,6,7,8,9],
'Цустомер_Наме': ['Сара', 'Сана', 'Али', 'Раеес', 'Махвисх', 'Умар', 'Мирха', 'Асиф', 'Мариа'],
'Старост': [20,21,15,10,31,52,15,18,16],
'Продуцт_ИД': [101,0,106,0,103,104,0,0,107],
„Купљени производ“: [„слушалице“, „НА“, „ручни сат“, „НА“, „Ципеле“, „Паметни телефон“, „НА“, „НА“, „Лаптоп“],
'Град': ['Лахоре', 'Исламабад', 'Фаисалабад', 'Карацхи', 'Карацхи', 'Исламабад', 'Равалпинди', 'Исламабад',
'Лахоре']
)
принт (пд.обједињавање (производ, купац, на = 'Продуцт_ИД'))

Следећи излаз се приказује на прозору након покретања горњег кода:

Ако су ступци различити у оба оквира података, онда изричито напишите име сваке колоне аргументима лефт_он и ригхт_он на следећи начин:

увези панде као пд
производ = пд.Оквир података(
'Продуцт_ИД': [101,102,103,104,105,106,107],
„Продуцт_Наме“: [„слушалице“, „Торба“, „Ципеле“, „Смартпхоне“, „четкица за зубе“, „ручни сат“, „Лаптоп“],
„Категорија“: [„Електроника“, „Мода“, „Мода“, „Електроника“, „Прехрана“, „Мода“, „Електроника“],
„Цена“: [300.0,1000.50,2000.0,21999.0,145.0,1500.0,90999.0],
'Селлер_Цити': ['Исламабад', 'Лахоре', 'Карацхи', 'Равалпинди', 'Исламабад', 'Карацхи', 'Фаисалабад']
)
купац = пд.Оквир података(
'ИД': [1,2,3,4,5,6,7,8,9],
'Цустомер_Наме': ['Сара', 'Сана', 'Али', 'Раеес', 'Махвисх', 'Умар', 'Мирха', 'Асиф', 'Мариа'],
'Старост': [20,21,15,10,31,52,15,18,16],
'Продуцт_ИД': [101,0,106,0,103,104,0,0,107],
„Купљени производ“: [„слушалице“, „НА“, „ручни сат“, „НА“, „Ципеле“, „Паметни телефон“, „НА“, „НА“, „Лаптоп“],
'Град': ['Лахоре', 'Исламабад', 'Фаисалабад', 'Карацхи', 'Карацхи', 'Исламабад', 'Равалпинди', 'Исламабад',
'Лахоре']
)
принт (пд.обједињавање (производ, купац, лефт_он = 'Продуцт_Наме', ригхт_он = 'Продуцт_Пурцхасед'))

На екрану ће се приказати следећи излаз:

Придружите се ДатаФрамес-у користећи Хов Аргумент

У следећим примерима ћемо објаснити четири врсте операција придруживања на Пандас ДатаФрамес:

Унутрашње придруживање у Пандама

Можемо извршити унутрашње спајање на више тастера. Да бисте приказали више детаља о продаји производа, узмите Продуцт_ИД, Селлер_Цити из производа ДатаФраме и Продуцт_ИД и „Цустомер_Цити“ из корисничког ДатаФрамеа да бисте утврдили да ли продавац или купац припадају истом граду. Примените следеће редове кода:

# увези библиотеку Пандас
увези панде као пд
производ = пд.Оквир података(
'Продуцт_ИД': [101,102,103,104,105,106,107],
„Продуцт_Наме“: [„слушалице“, „Торба“, „Ципеле“, „Смартпхоне“, „четкица за зубе“, „ручни сат“, „Лаптоп“],
„Категорија“: [„Електроника“, „Мода“, „Мода“, „Електроника“, „Намирнице“, „Мода“, „Електроника“],
„Цена“: [300.0,1000.50,2000.0,21999.0,145.0,1500.0,90999.0],
'Селлер_Цити': ['Исламабад', 'Лахоре', 'Карацхи', 'Равалпинди', 'Исламабад', 'Карацхи', 'Фаисалабад']
)
купац = пд.Оквир података(
'ИД': [1,2,3,4,5,6,7,8,9],
'Цустомер_Наме': ['Сара', 'Сана', 'Али', 'Раеес', 'Махвисх', 'Умар', 'Мирха', 'Асиф', 'Мариа'],
'Старост': [20,21,15,10,31,52,15,18,16],
'Продуцт_ИД': [101,0,106,0,103,104,0,0,107],
„Купљени производ“: [„слушалице“, „НА“, „ручни сат“, „НА“, „Ципеле“, „Паметни телефон“, „НА“, „НА“, „Лаптоп“],
'Цустомер_Цити': ['Лахоре', 'Исламабад', 'Фаисалабад', 'Карацхи', 'Карацхи', 'Исламабад', 'Равалпинди', 'Исламабад',
'Лахоре']
)
принт (пд.спајање (производ, купац, како = 'унутрашњи', лефт_он = ['Продуцт_ИД', 'Селлер_Цити'], ригхт_он = ['Продуцт_ИД', 'Цустомер_Цити']))

Следећи резултат се приказује на прозору након покретања горњег кода:

Пун / спољни спој у Пандама

Спољна спајања враћају и десне и леве вредности ДатаФрамес-а, које се подударају. Дакле, да бисте применили спољно удруживање, поставите аргумент „како“ као спољни. Изменимо горњи пример коришћењем концепта спољног спајања. У доњем коду ће вратити све вредности и левог и десног оквира података.

# увези библиотеку Пандас
увези панде као пд
производ = пд.Оквир података(
'Продуцт_ИД': [101,102,103,104,105,106,107],
„Продуцт_Наме“: [„слушалице“, „Торба“, „Ципеле“, „Смартпхоне“, „четкица за зубе“, „ручни сат“, „Лаптоп“],
„Категорија“: [„Електроника“, „Мода“, „Мода“, „Електроника“, „Прехрана“, „Мода“, „Електроника“],
„Цена“: [300.0,1000.50,2000.0,21999.0,145.0,1500.0,90999.0],
'Селлер_Цити': ['Исламабад', 'Лахоре', 'Карацхи', 'Равалпинди', 'Исламабад', 'Карацхи', 'Фаисалабад']
)
купац = пд.Оквир података(
'ИД': [1,2,3,4,5,6,7,8,9],
'Цустомер_Наме': ['Сара', 'Сана', 'Али', 'Раеес', 'Махвисх', 'Умар', 'Мирха', 'Асиф', 'Мариа'],
'Старост': [20,21,15,10,31,52,15,18,16],
'Продуцт_ИД': [101,0,106,0,103,104,0,0,107],
„Купљени производ“: [„слушалице“, „НА“, „ручни сат“, „НА“, „Ципеле“, „Паметни телефон“, „НА“, „НА“, „Лаптоп“],
'Цустомер_Цити': ['Лахоре', 'Исламабад', 'Фаисалабад', 'Карацхи', 'Карацхи', 'Исламабад', 'Равалпинди', 'Исламабад',
'Лахоре']
)
принт (пд.спајање (производ, купац, на = 'Продуцт_ИД', како = 'спољни'))

Поставите аргумент индикатора на „Труе“ с. Приметићете да је на крају додата нова колона „_мерге“.

# увези библиотеку Пандас
увези панде као пд
производ = пд.Оквир података(
'Продуцт_ИД': [101,102,103,104,105,106,107],
„Продуцт_Наме“: [„слушалице“, „Торба“, „Ципеле“, „Смартпхоне“, „четкица за зубе“, „ручни сат“, „Лаптоп“],
„Категорија“: [„Електроника“, „Мода“, „Мода“, „Електроника“, „Прехрана“, „Мода“, „Електроника“],
„Цена“: [300.0,1000.50,2000.0,21999.0,145.0,1500.0,90999.0],
'Селлер_Цити': ['Исламабад', 'Лахоре', 'Карацхи', 'Равалпинди', 'Исламабад', 'Карацхи', 'Фаисалабад']
)
купац = пд.Оквир података(
'ИД': [1,2,3,4,5,6,7,8,9],
'Цустомер_Наме': ['Сара', 'Сана', 'Али', 'Раеес', 'Махвисх', 'Умар', 'Мирха', 'Асиф', 'Мариа'],
'Старост': [20,21,15,10,31,52,15,18,16],
'Продуцт_ИД': [101,0,106,0,103,104,0,0,107],
„Купљени производ“: [„слушалице“, „НА“, „ручни сат“, „НА“, „Ципеле“, „Паметни телефон“, „НА“, „НА“, „Лаптоп“],
'Цустомер_Цити': ['Лахоре', 'Исламабад', 'Фаисалабад', 'Карацхи', 'Карацхи', 'Исламабад', 'Равалпинди', 'Исламабад',
'Лахоре']
)
принт (пд.спајање (производ, купац, на = 'Продуцт_ИД', како = 'спољни', индикатор = Тачно))

Као што можете видети на доњем снимку екрана, вредности колона за обједињавање објашњавају који ред припада којем ДатаФраме-у.

Лево се придружио Пандама

Лево спајање приказује само редове левог ДатаФраме-а.  Слично је спољашњем споју. Дакле, промените вредност аргумента „како“ са „лево“. Испробајте следећи код да бисте применили идеју Лефт јоин:

# увези библиотеку Пандас
увези панде као пд
производ = пд.Оквир података(
'Продуцт_ИД': [101,102,103,104,105,106,107],
„Продуцт_Наме“: [„слушалице“, „Торба“, „Ципеле“, „Смартпхоне“, „четкица за зубе“, „ручни сат“, „Лаптоп“],
„Категорија“: [„Електроника“, „Мода“, „Мода“, „Електроника“, „Намирнице“, „Мода“, „Електроника“],
„Цена“: [300.0,1000.50,2000.0,21999.0,145.0,1500.0,90999.0],
'Селлер_Цити': ['Исламабад', 'Лахоре', 'Карацхи', 'Равалпинди', 'Исламабад', 'Карацхи', 'Фаисалабад']
)
купац = пд.Оквир података(
'ИД': [1,2,3,4,5,6,7,8,9],
'Цустомер_Наме': ['Сара', 'Сана', 'Али', 'Раеес', 'Махвисх', 'Умар', 'Мирха', 'Асиф', 'Мариа'],
'Старост': [20,21,15,10,31,52,15,18,16],
'Продуцт_ИД': [101,0,106,0,103,104,0,0,107],
„Купљени производ“: [„слушалице“, „НА“, „ручни сат“, „НА“, „Ципеле“, „Паметни телефон“, „НА“, „НА“, „Лаптоп“],
'Цустомер_Цити': ['Лахоре', 'Исламабад', 'Фаисалабад', 'Карацхи', 'Карацхи', 'Исламабад', 'Равалпинди', 'Исламабад',
'Лахоре']
)
принт (пд.спајање (производ, купац, на = 'Продуцт_ИД', како = 'лево'))

Право придруживање у Пандама

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

# увези библиотеку Пандас
увези панде као пд
производ = пд.Оквир података(
'Продуцт_ИД': [101,102,103,104,105,106,107],
„Продуцт_Наме“: [„слушалице“, „Торба“, „Ципеле“, „Смартпхоне“, „четкица за зубе“, „ручни сат“, „Лаптоп“],
„Категорија“: [„Електроника“, „Мода“, „Мода“, „Електроника“, „Намирнице“, „Мода“, „Електроника“],
„Цена“: [300.0,1000.50,2000.0,21999.0,145.0,1500.0,90999.0],
'Селлер_Цити': ['Исламабад', 'Лахоре', 'Карацхи', 'Равалпинди', 'Исламабад', 'Карацхи', 'Фаисалабад']
)
купац = пд.Оквир података(
'ИД': [1,2,3,4,5,6,7,8,9],
'Цустомер_Наме': ['Сара', 'Сана', 'Али', 'Раеес', 'Махвисх', 'Умар', 'Мирха', 'Асиф', 'Мариа'],
'Старост': [20,21,15,10,31,52,15,18,16],
'Продуцт_ИД': [101,0,106,0,103,104,0,0,107],
„Купљени производ“: [„слушалице“, „НА“, „ручни сат“, „НА“, „Ципеле“, „Паметни телефон“, „НА“, „НА“, „Лаптоп“],
'Цустомер_Цити': ['Лахоре', 'Исламабад', 'Фаисалабад', 'Карацхи', 'Карацхи', 'Исламабад', 'Равалпинди', 'Исламабад',
'Лахоре']
)
принт (пд.спајање (производ, купац, на = 'Продуцт_ИД', како = 'у праву'))

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

Спајање ДатаФрамес-а помоћу функције Цонцат ()

Два оквира података могу се спојити помоћу функције цонцат. Основна синтакса функције спајања дата је у наставку:

пд.цонцат ([дф_обј1, дф_обј_2]))

Два објекта ДатаФрамес проследиће се као аргументи.

Придружимо се и ДатаФрамес производу и купцу путем функције цонцат. Покрените следеће редове кода да бисте спојили два оквира података:

# увези библиотеку Пандас
увези панде као пд
производ = пд.Оквир података(
'Продуцт_ИД': [101,102,103,104,105,106,107],
„Продуцт_Наме“: [„слушалице“, „Торба“, „Ципеле“, „Смартпхоне“, „четкица за зубе“, „ручни сат“, „Лаптоп“],
„Категорија“: [„Електроника“, „Мода“, „Мода“, „Електроника“, „Прехрана“, „Мода“, „Електроника“],
„Цена“: [300.0,1000.50,2000.0,21999.0,145.0,1500.0,90999.0],
'Селлер_Цити': ['Исламабад', 'Лахоре', 'Карацхи', 'Равалпинди', 'Исламабад', 'Карацхи', 'Фаисалабад']
)
купац = пд.Оквир података(
'ИД': [1,2,3,4,5,6,7,8,9],
'Цустомер_Наме': ['Сара', 'Сана', 'Али', 'Раеес', 'Махвисх', 'Умар', 'Мирха', 'Асиф', 'Мариа'],
'Старост': [20,21,15,10,31,52,15,18,16],
'Продуцт_ИД': [101,0,106,0,103,104,0,0,107],
„Купљени производ“: [„слушалице“, „НА“, „ручни сат“, „НА“, „Ципеле“, „Паметни телефон“, „НА“, „НА“, „Лаптоп“],
'Цустомер_Цити': ['Лахоре', 'Исламабад', 'Фаисалабад', 'Карацхи', 'Карацхи', 'Исламабад', 'Равалпинди', 'Исламабад',
'Лахоре']
)
принт (пд.цонцат ([производ, купац]))

Закључак:

У овом чланку смо разговарали о имплементацији функције мерге (), цонцат () и придруживања у Пандас питхон. Користећи горенаведене методе, лако можете придружити два оквира података и научити. како применити операције придруживања „унутрашње, спољашње, лево и десно“ у Пандама. Надамо се да ће вас овај водич водити у примени операција спајања на различитим врстама ДатаФрамес-а. Обавестите нас о својим потешкоћама у случају било какве грешке.

Додајте покрете миша у Виндовс 10 помоћу ових бесплатних алата
Последњих година рачунари и оперативни системи су се увелико развили. Било је време када су корисници морали да користе команде за навигацију кроз мен...
Контролишите и управљајте кретањем миша између више монитора у оперативном систему Виндовс 10
Двоструки приказ миша омогућава вам контролу и конфигурисање кретања миша између више монитора, успоравајући његово кретање близу границе. Виндовс 10/...
ВинМоусе вам омогућава да прилагодите и побољшате кретање показивача миша на Виндовс рачунару
Ако желите да побољшате подразумеване функције показивача миша, користите бесплатни програм ВинМоусе. Додаје још функција које ће вам помоћи да на нај...