Увод у Пандас.Дропна ()

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

Шта су тачно Пандас.Дропна ()?

Страница Пидата може се упутити за службену дефиницију функције.

Приказана функција заглавља је следећа (заједно са подразумеваним вредностима параметра):

DataFrame.dropna(self, axis=0, how='any', thresh=None, subset=None, inplace=False)

Параметри (искључујући селф (сам објект оквира података)) приказани у дефиницији функције су сљедећи:

  • осовина: Односи се на оријентацију (ред или ступац) у коју се испадају подаци. Могуће вредности су 0 или 1 (такође 'индекс' или 'стубови'). 0 / 'индекс' представља падајуће редове, а 1 / 'ступци' представљају падајуће ступце.
  • како: Специфицира сценариј у којем ступац / редак који садржи нулту вриједност мора бити испуштен. Вриједности су 'било које' или 'све'. 'алл' испусти ред / ступац само ако су све вриједности у ретку / ступцу нулл. 'било који' испусти ред / ступац када је најмање једна вриједност у ретку / ступцу нулл.
  • тхресх: Одређује минимални број не-НА вриједности у ретку / ступцу како би се узео у обзир у коначном резултату. Сваки ред / ступац с бројем НЕ-вриједности <тхресх вриједности уклања се без обзира на остале параметре. Када је тхресх = ниједан, овај филтер се игнорише.
  • подскуп: ос одређује да ли редови / ступци морају бити испуштени. подгрупа узима листу ступаца / редова односно (супротно оси) у којима се тражи нула / НА вредности уместо целог пописа ступаца / редова.
  • на месту: Као добра пракса, оригинални ДатаФраме (или представљање података) се не мења, већ се враћа засебна копија са изменама (тј. испуштеним редовима / ступовима). атрибут инплаце вам даје флексибилност да сами мењате оригиналну структуру података.

Сада када имамо општу идеју о параметрима изложеним дропна (), да видимо неколико могућих сценарија недостајућих података и како их решити.

Пример примера случаја Пандас.Дропна ()

Испод су примери пандас.дропна ():

Увези панде: Да бисте користили Дропна (), мора да постоји ДатаФраме. Да бисте креирали ДатаФраме, библиотеку панде треба увести (овде не изненађује). Увезићемо га са псеудонимом пд за референцу објеката у модулу. За дефинирање нулл вриједности, држаћемо се нумпи.нан. Тако ћемо увести нумпи библиотеку са псеудонимом нп:

Шифра:

In (1): import pandas as pd
In (2): import numpy as np

1. Креирајте ДатаФраме објект за манипулацију

Након увоза панди, све методе, функције и конструктори доступни су у вашем радном простору. Зато направимо ДатаФраме који нам може помоћи у демонстрацији употребе дропна ().

Шифра:

In (3): df = pd.DataFrame(
('Company':('Google', 'Amazon', 'Infosys', 'Directi'),
'Age':('21', '23', '38', '22'),
'NetWorth ($ bn)':(300, np.nan, np.nan, 1.3),
'Founder':(np.nan, np.nan, np.nan, np.nan),
'Headquarter-Country':('United States', np.nan, 'India', 'India') ))
In (4): print(df)
Company Age NetWorth ($ bn) Founder Headquarter-Country
0 Google 21 300.0 NaN United States
1 Amazon 23 NaN NaN NaN
2 Infosys 38 NaN NaN India
3 Directi 22 1.3 NaN India

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

2. Спуштање редова вс колона

Параметар осе користи се за испуштање редова или ступаца као што је приказано у наставку:

Шифра:

In (5): df.dropna(axis=1)

Излаз:

Out(5):
Company Age
0 Google 21
1 Amazon 23
2 Infosys 38
3 Directi 22

Свака колона која садржи најмање 1 НаН као вредност ћелије је испуштена. Да видимо како ће редови (ос = 0) радити.
Напомена : Ово је подразумевано понашање када осовина није изричито наведена.

Шифра:

In (6): df.dropna(axis=0)

Излаз:

Out(6):
Empty DataFrame
Columns: (Company, Age, NetWorth ($ bn), Founder, Headquarter-Country) Index: ()

Хмм, па више нема података у враћеном ДатаФраме-у! Ово очигледно није намењено понашање. Да видимо како да то поправимо.

3. Коришћење атрибута подскупине

Претходне операције су падале на основу свих ступаца када је ос = 0. Пошто постоји оснивач колоне који има само нулте вредности, сви се редови испуштају. Наведимо колону која ће се користити за филтрирање:

Шифра:

In (7): df.dropna(axis=0, subset=('NetWorth ($ bn)'))

Излаз:

Out(7):
Company Age NetWorth ($ bn) Founder Headquarter-Country
0 Google 21 300.0 NaN United States
3 Directi 22 1.3 NaN India

Сада, као што видимо, падају само записи са Нанвалуеом у колони Нетвортх. Враћени ДатаФраме може се поново модификовати применом дропна () још једном да би се филтрирали ступци мимо оси = 1.

4. Коришћење параметара како

Дропна () подразумевано испуста цео ред / ступац чак и ако недостаје само 1 вредност. Изложено брзо превртање пада само ако су све вриједности у ретку / ступцу нулл. То се постиже подешавањем хов = 'алл' уместо хов = 'ани' (подразумевано понашање).

Шифра:

In (8): df.dropna(axis=1, how='all')

Излаз:

Out(8):
Company Age NetWorth ($ bn) Headquarter-Country
0 Google 21 300.0 United States
1 Amazon 23 NaN NaN
2 Infosys 38 NaN India
3 Directi 22 1.3 India

Сада се резултирајући ДатаФраме може користити за испуштање редака / ступаца сложенијих логика ако је потребно.

5. Добијање контроле кроз Тхресх

Параметар млаза је вероватно најмоћнији алат ако се на одговарајући начин комбинује са осталим елементима.

Шифра:

In (17): df.dropna(axis=1, thresh=2)

Излаз:

Out(17):
Company Age NetWorth ($ bn) Headquarter-Country
0 Google 21 300.0 United States
1 Amazon 23 NaN NaN
2 Infosys 38 NaN India
3 Directi 22 1.3 India

Постављањем оси = 1 и прашка = 2 задржавају се само они ступци са најмање 2 не-НаН вредности.

Закључак

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

Препоручени чланци

Ово је водич за Пандас.Дропна (). Овдје разговарамо о томе што је Пандас.Дропна (), параметрима и примјерима. Можете и да прођете кроз наше друге сродне чланке да бисте сазнали више -

  1. Шта је Панда
  2. НЛП у Питхон-у
  3. Сажетак класе у Питхон-у
  4. Факторориал у Питхон-у
  5. Факторски програм у ЈаваСцрипт-у

Категорија: