Како комбиновати ЦСВ датотеке у Питхон-у

Kako Kombinovati Csv Datoteke U Pithon U



Понекад се дати скуп података не налази у једној ЦСВ датотеци. Сви су на различитим Екцел листовима. Већ знате да је пожељно обављати све рачунске или претпроцесне активности на једном скупу података уместо на неколико скупова података. Смањује или штеди време које треба да потрошимо на задатке предобраде. Такође, као аналитичар података или научник података, често се можете наћи преоптерећени бројним ЦСВ датотекама које се морају спојити пре него што уопште почнете са анализом или испитивањем доступних података. С друге стране, није увек могуће да су све датотеке добијене из једног или истог извора података и да имају иста имена колона/променљивих и структуру података. Овај пост ће вас научити да комбинујете две или више ЦСВ датотека са сличном или различитом структуром колона.

Зашто комбиновати ЦСВ датотеке?

Скуп података може бити колекција или група вредности или бројева који се односе на одређену тему. На пример, резултати теста сваког ученика у одређеном разреду су пример скупа података. Због величине великих скупова података, они се често чувају у засебним ЦСВ датотекама за различите категорије. На пример, ако се од нас тражи да испитамо пацијента на одређену болест, морамо узети у обзир сваку компоненту, укључујући њихов пол, медицински картон, старост, тежину болести, итд. Сходно томе, комбиновање ЦСВ података је потребно да би се испитали различити утицаји на предикторе аспекти. Такође, боље је радити и управљати једним скупом података, а не неколико скупова података током обављања задатака израчунавања или предобраде. Штеди меморију и друге рачунарске ресурсе







Како комбиновати ЦСВ датотеке у Питхон-у?

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



Метод # 1: Комбиновање ЦСВ датотека са сличним структурама или колонама

Наш тренутни радни директоријум има две ЦСВ датотеке, „тест1“ и „тест2“.



Пример # 1: Коришћење функције аппенд().

Обе ЦСВ датотеке су исте структуре. Функција глоб() ће се користити у овој методи само за листање ЦСВ датотека у радном директоријуму. Затим ћемо користити „пандас.ДатаФраме.аппенд()“ за читање наших ЦСВ датотека (са заједничком структуром табеле).





Излаз:



Користећи функцију додавања, додали смо или додали сваки ред података из тест2.цсв испод редова података тест1.цсв, јер се може видети да су сви редови података датотеке комбиновани. Да бисмо конвертовали овај оквир података у ЦСВ, можемо користити функцију то_цсв().

Ово ће креирати комбиновану ЦСВ датотеку од ЦСВ датотека „тест1“ и „тест2“ у нашем радном директоријуму са наведеним именом, тј. мергед.цсв.

Пример #2: Коришћење функције цонцат().

Прво ћемо увести модул панда. Метод мапе ће прочитати сваку ЦСВ датотеку коју смо прошли помоћу пд.реад_цсв(). Ове мапиране датотеке (ЦСВ датотеке) ће тада бити комбиноване дуж осе реда подразумевано користећи функцију пд.цонцат(). Ако желимо да комбинујемо ЦСВ датотеке хоризонтално, можемо да проследимо акис=1. Навођење индекса игнорисања = Тачно такође ствара непрекидне вредности индекса за комбиновани оквир података.

Пд.реад_цсв() се прослеђује унутар функције цонцат() за читање ЦСВ датотека у пандас датафраме након спајања.

Добили смо оквир података са комбинованим подацима свих ЦСВ датотека у радном директоријуму. Сада, хајде да га претворимо у ЦСВ датотеку.

Наш комбиновани ЦСВ је креиран у тренутном директоријуму.

Метод # 2: Комбиновање ЦСВ датотека са различитим структурама или колонама

Разговарали смо о комбиновању ЦСВ датотека са истим колонама и структуром у првом методу. У овој методи ћемо комбиновати ЦСВ датотеке са различитим колонама и структурама.

Пример # 1: Коришћење функције мерге().

Функција „пандас.мерге()“ у модулу пандас може да комбинује две ЦСВ датотеке. Спајање се једноставно односи на комбиновање два скупа података у један скуп података на основу дељених колона или атрибута.

Можемо да спојимо оквире података на четири различита начина спајања:

  • Унутрашњи
  • Јел тако
  • Лево
  • Спољашњи

Да бисмо извршили ове врсте спајања, користићемо две ЦСВ датотеке.

Имајте на уму да обе ЦСВ датотеке морају да деле најмање један атрибут или колону. Као што је примећено, колону „Име“ и неке од њених атрибута деле обе ЦСВ датотеке.

Спајање помоћу унутрашњег спајања

Навођење параметра хов=’иннер’ у функцији мерге() комбинује два оквира података у складу са наведеном колони, а затим ће обезбедити нови оквир података који садржи само редове са идентичним/истим вредностима у оба оригинална оквира података.

Као што се може видети да је функција спојила обе ЦСВ датотеке и вратила редове на основу заједничких атрибута колоне „Име“.

Спајање користећи десно спољно спајање

Када је наведен параметар хов=’ригхт’, оба оквира података ће бити комбинована на основу колоне коју смо навели за параметар „он“. И нови оквир података који садржи све редове из десног оквира података, укључујући све редове за које леви оквир података не садржи вредности, биће враћен, са вредношћу колоне левог оквира података постављеном на НАН.

Спајање помоћу левог спољног споја

Када је параметар наведен као „лево“, два оквира података ће се комбиновати на основу наведене колоне помоћу параметра „он“, враћајући нови оквир података који има све редове из левог оквира података као и све редове који имају НАН или нулте вредности у десном оквиру података и поставља вредност колоне десног оквира података на НАН.

Спајање помоћу потпуног спољног спајања

Када је специфицирано хов='оутер', два оквира података ће се комбиновати у зависности од колоне наведене за параметар 'он', враћајући нови оквир података који садржи редове из дф1 и дф2 оквира података и постављајући НАН као вредност за све редове за које подаци недостају у једном од оквира података.

Пример # 2: Комбиновање свих ЦСВ датотека у радном директоријуму

У овој методи, користићемо модул глоб да комбинујемо све .цсв датотеке у пандас ДатаФраме. Све библиотеке су прво морале бити увезене. Затим ћемо поставити путању за сваку ЦСВ датотеку коју желимо да комбинујемо. Путања датотеке је први аргумент за функцију ос.патх.јоин() у примеру испод, а други аргумент су или компоненте путање или .цсв датотеке које треба спојити. Овде ће израз „*.цсв“ пронаћи и вратити сваку датотеку у радном директоријуму који завршава екстензијом .цсв датотеке. Функција глоб.глоб(фајлови спојени) прихвата листу назива спојених датотека као улаз и даје листу свих спојених/комбинованих датотека.

Ова скрипта ће вратити оквир података са комбинованим подацима свих ЦСВ датотека у нашем радном директоријуму.

Овај оквир података ће бити трансформисан у ЦСВ датотеку, а функција то_цсв() ће се користити за ову конверзију. Ова нова ЦСВ датотека ће бити комбиноване ЦСВ датотеке креиране од свих ЦСВ датотека ускладиштених у тренутном радном директоријуму.

Закључак

У овом посту смо разговарали о томе зашто морамо да комбинујемо ЦСВ датотеке. Разговарали смо о томе како се две или више ЦСВ датотека могу комбиновати у Питхон-у. Поделили смо овај водич у два дела. У првом одељку смо објаснили како да користите функције аппенд() и цонцат() за комбиновање ЦСВ датотека исте структуре или имена колона. У другом одељку користили смо метод мерге(), ос.патх.јоин() и глоб метод за комбиновање ЦСВ датотека различитих колона и структура.