Колона Pandas Sum

Kolona Pandas Sum



„Тази статия ще демонстрира как да сумирате всички или определени колони в Pandas DataFrame с помощта на Python. Функцията DataFrame.sum() ще бъде използвана заедно с няколко полезни параметъра в многобройните примери на този урок.“

Когато този урок приключи, може да знаете как да:







    • Намерете сумата от колоната на рамката с данни в Pandas.
    • Добавяне на колоните на рамката с данни заедно
    • Добавете колони към Pandas Dataframe, които отговарят на определеното условие.
    • Определете сумата след групиране на данните от рамката с данни.

Как да определим сумата от колони на Dataframe?

Функцията “dataframe.sum()” в Pandas връща общата сума за посочената ос. Ако входът е ос на индекса, функцията добавя стойностите на всяка колона поотделно, след което прави същото за всяка колона, връщайки серия, съхраняваща сумата от данните/стойностите във всяка колона. Освен това поддържа изчисляване на сумата на рамката с данни чрез игнориране на липсващите стойности.



Синтаксис: DataFrame.sum(axis = None, skipna = None, level = None, numeric_only = None, min_count = 0, **kwargs)



Където,





ос: {колони (1), индекс (0)}

поръчка: Игнорирайте стойностите NA/null при изчисляване на резултата.



ниво: Ако указаната ос е йерархична (мултииндекс), пребройте до определено ниво на индекс, преди да конвертирате в серия.

само числово: Приемливи са само колони float, int и boolean. Ако няма, опитайте се да използвате всичко; ако не, само цифрови данни. За серии, не е внедрено.

min_count: Броят възможни стойности, необходими за завършване на операцията. Резултатът ще бъде NA, ако има по-малко налични стойности, различни от NA, отколкото min_count.

Се завръща: DataFrame (ако е посочено ниво) или Series.

Пример # 01: Определяне на сумата от колона на Dataframe и всички колони

Първо изискахме рамка от данни с валидните типове данни, т.е. int, float и т.н., колона или колони, за които можем да намерим сумата от данни. Рамката с данни ще бъде създадена с помощта на функцията pd.DataFrame().


Създадохме необходимата рамка с данни от речник на Python във функцията pd.DataFrame(). В създадената по-горе рамка с данни има четири колони „Име“, „ден1“, „ден2“ и „ден3“. От четирите колони трите колони, т.е. „ден1“, „ден2“ и „ден3“ са цифрови колони със стойностите на данните (4, 4, 3, 2, 4, 6, 5, 3), (2, 4, 5, 2, 3, 4, 6, 2) и (7, 4, 3, 5, 6, 2, 1, 4) съответно. Можем да намерим сумата само за тези три колони. Сумата за двете серии (т.е. колона) и цяла рамка от данни може да се определи с помощта на метода sum(). Нека започнем, като научим как да сумираме всички данни в колона Pandas.


За да определим сумата, използвахме метода sum() в колоната „day2“. Функцията е върнала сумата от 28. Подобно на това, можем да определим сумата на всяка колона Dataframe. Просто използването на метода sum() в цялата рамка с данни ще постигне това.


Както се вижда, сумата на колона “ден1” е 31; за „ден2“ сумарната стойност е 28, докато за колона „ден3“ сумарната стойност е 32.

Пример # 02: Използване на функцията sum() за сумиране на стойностите на колоната Dataframe заедно

Както можете да видите от резултата от предишния пример, функцията не върна действителните данни от колоната на рамката на данни, които съставляват сумата. Въпреки това, като присвоите метода „DataFrame.sum()“  на колона DataFrame, можете да получите достъп до всяка колона в DataFrame, включително колоната за суми. Първо създаваме друга рамка с данни за този пример.


С помощта на pd.DataFrame() нашата рамка с данни е създадена. Създадохме рамката с данни с три колони: артикул, цена и данък. Елементът на колоната, съдържащ стойностите на низа („pen“, „marker“, „ruler“, „eraser“, „pencil“, „clipboard“, „stapler“, „pins“), цената на колоната, съхраняваща стойностите (20, 15, 10, 3, 5, 30, 35, 10), а колоната „данък“ се състои от стойности (8, 5, 3, 3, 4, 10, 5, 2). Сега нека съберем стойностите на колоните за цена и данък и да съхраним резултатите в нова колона, като запазим оригиналните колони на рамката с данни.


Както може да се забележи, заедно с новата колона „общо“, оригиналните колони на дадения кадър с данни също се връщат от функцията. Колоната „общо“ съхранява сумата от стойностите на колоните „цена“ и „данък“ спрямо данните за всеки „артикул“.

Пример # 03: Използване на функцията sum() за определяне на сумата от посочените колони на рамка с данни

За да сумираме заедно множеството колони на рамката с данни, можем да посочим списък с етикетите на колоните и след това да приложим метода sum() върху списъка, за да намерим сумата. Подобно на предишните примери, първо ще създадем рамката с данни.


Създадохме нашата рамка с данни с четири колони „students“, „marks1“, „marks2“ и „marks3“. Колоната „students“ съхранява данните („Larry“, „James“, „Rob“, „Arya“, „Max“, „Ben“, „Gwen“, „Bill“), а колоната „marks1“ съхранява стойности (8, 9, 6, 8, 10, 7, 9, 9), докато колоните „marks2“ и „marks3“ съхраняват числовите стойности (6, 6, 8, 6, 7, 9, 10, 9) ) и (7, 6, 9, 7, 8, 7, 10, 10) съответно.


Първо създадохме списък с етикети на колони „students“, „marks1“ и „marks3“. След това методът sum() се прилага към списъка. Функцията е сумирала стойностите на колоните marks1 и marks3 само защото колоната „students“ не е числова, така че функцията sum() не може да намери сумата за стойностите на колоната „students“. Съхранили сме сумата от стойностите на колоните „marks1” и „marks3” в колоната „sum”.

Пример # 04: Добавяне на колони от рамка с данни на Pandas, които отговарят на определено условие

В този пример ще добавим стойностите на определени колони, ако отговарят на определеното условие.


Има 5 колони в новосъздадената рамка с данни, т.е. „компания“, „week1_sales“, „week2_sales“, „week3_sales“ и „branches“. Сега, да предположим, че не искаме да добавяме стойността на последната колона, когато добавяме или намираме сумата от стойностите на дадените редове на рамката с данни. Да кажем, че просто искахме да добавим стойностите на колоните с думата „седмица“ в техните етикети. Може да се създаде списък за разбиране, за да се определи дали думата „седмица“ присъства в етикет на колона или не.


Сега извлякохме колоните с думата „седмица“ в техните етикети. Можем да обобщим колоните, съдържащи думата „седмица“, като използваме аргумента axis=1 във функцията sum().


По този начин можем безопасно да сумираме данни в колони по ред, без да включваме колони, които не желаем.

Пример # 5: Определяне на сумата след групиране на данните от рамката с данни

Можем също да намерим сумата от колони на рамката с данни след групиране на данните от една или повече колони. Методът groupby() ще се използва за групиране на данните в категории вътре в колоната. Нека създадем рамка с данни, за да можем да групираме данните на една от нейните колони.


Сега ще групираме данните в колоната „възраст“ и ще сумираме стойностите на колоните „резултат 1“ и „резултат 2“ за всяка категория от групата.


Можем да видим, че сумирането на данните в рамката с данни след първо групиране на стойностите на данните по възраст води до сбор по колони в зависимост от възрастовите групи.

Заключение

В този урок се опитахме да ви научим как да изчислявате сумата между кадрите с данни, като използвате метода на Pandas sum. Обсъдихме добавянето на стойности по редове и колони в примерите на тази публикация. Освен това научихте как да добавяте колони условно и как да сумирате стойностите след групиране на колоната на рамката с данни. Сега може да сте в състояние да сумирате колоните на рамката с данни заедно или сами да сумирате стойностите в колоната на рамката с данни.