Увоз ЦСВ података помоћу Пандас.реад_цсв ()

Преглед садржаја:

Anonim

У овом упутству ћете научити:

  • Увези ЦСВ
  • Група од

Увези ЦСВ

Током водича за ТенсорФлов користићете скуп података за одрасле. Често се користи са задатком класификације. Доступан је на овом УРЛ-у хттпс://арцхиве.ицс.уци.еду/мл/мацхине-леарнинг-датабасес/адулт/адулт.дата

Подаци се чувају у ЦСВ формату. Овај скуп података укључује осам категоријских променљивих:

Овај скуп података укључује осам категоријских променљивих:

  • радна класа
  • образовање
  • брачно
  • занимање
  • однос
  • трка
  • секс
  • домовина

штавише, шест континуираних променљивих:

  • старост
  • фнлвгт
  • број_образовања
  • Капитални добитак
  • цапитал_лосс

хоурс_веек

Да бисте увезли ЦСВ скуп података, можете користити објекат пд.реад_цсв (). Основни аргумент изнутра је:

Синтакса:

pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
  • филепатх_ор_буффер: Путања или УРЛ са подацима
  • сеп = ',': Дефинишите граничник који ћете користити
  • `намес = Ноне`: Именујте колоне. Ако скуп података садржи десет колона, морате прослиједити десет имена
  • `индек_цол = Нема`: Ако је одговор да, прва колона се користи као индекс реда
  • `скипинитиалспаце = Фалсе`: Прескочи размаке након граничника.

За више информација о реадцсв (), погледајте званичну документацију

хттпс://пандас.пидата.орг/пандас-доцс/стабле/генератед/пандас.реад_цсв.хтмл.

Размотрите следећи пример

## Import csvimport pandas as pd## Define path dataCOLUMNS = ['age','workclass', 'fnlwgt', 'education', 'education_num', 'marital','occupation', 'relationship', 'race', 'sex', 'capital_gain', 'capital_loss','hours_week', 'native_country', 'label']PATH = "https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data"df_train = pd.read_csv(PATH,skipinitialspace=True,names = COLUMNS,index_col=False)df_train.shape

Излаз:

(32561, 15)

Група од

Једноставан начин да видите податке је коришћење методе гроупби. Овај метод вам може помоћи да сумирате податке по групама. Испод је листа метода доступних са гроупби:

  • цоунт: цоунт
  • мин: мин
  • мак: мак
  • значи: значи
  • медијана: медијана
  • стандардна девијација: сдт
  • итд

Унутар гроупби () можете да користите колону у којој желите да примените методу.

Погледајмо једно груписање са скупом података за одрасле. Добићете средњу вредност свих континуираних променљивих према типу прихода, тј. Изнад 50к или испод 50к

df_train.groupby(['label']).mean() 
старост фнлвгт број_образовања Капитални добитак цапитал_лосс хоурс_веек
ознака
<= 50К 36.783738 190340.86517 9.595065 148.752468 53.142921 38.840210
> 50К 44.249841 188005.00000 11.611657 4006.142456 195.001530 45.473026

Можете добити минималну старост према типу домаћинства

дф_траин.гроупби (['лабел']) ['аге']. мин ()

label<=50K 17>50K 19Name: age, dtype: int64 

Такође можете груписати по више колона. На пример, можете добити максимални капитални добитак према типу домаћинства и брачном статусу.

df_train.groupby(['label', 'marital'])['capital_gain'].max()label marital<=50K Divorced 34095Married-AF-spouse 2653Married-civ-spouse 41310Married-spouse-absent 6849Never-married 34095Separated 7443Widowed 6849>50K Divorced 99999Married-AF-spouse 7298Married-civ-spouse 99999Married-spouse-absent 99999Never-married 99999Separated 99999Widowed 99999Name: capital_gain, dtype: int64

Можете да направите заплет пратећи групу. Један од начина да се то уради је употреба заплета након груписања.

Да бисте креирали изврснију парцелу, користићете унстацк () након меан () тако да имате исти индекс на више нивоа или ћете вредности придружити приходима мањим од 50к и вишим од 50к. У овом случају, заплет ће имати две групе уместо 14 (2 * 7).

Ако користите Јупитер бележницу, обавезно додајте% матплотлиб инлине, у супротном се неће приказати ниједна парцела

%matplotlib inlinedf_plot = df_train.groupby(['label', 'marital'])['capital_gain'].mean().unstack()df_plot