У овом упутству ћете научити:
- Увези ЦСВ
- Група од
Увези ЦСВ
Током водича за ТенсорФлов користићете скуп података за одрасле. Често се користи са задатком класификације. Доступан је на овом УРЛ-у хттпс://арцхиве.ицс.уци.еду/мл/мацхине-леарнинг-датабасес/адулт/адулт.дата
Подаци се чувају у ЦСВ формату. Овај скуп података укључује осам категоријских променљивих:
Овај скуп података укључује осам категоријских променљивих:
- радна класа
- образовање
- брачно
- занимање
- однос
- трка
- секс
- домовина
штавише, шест континуираних променљивих:
- старост
- фнлвгт
- број_образовања
- Капитални добитак
- цапитал_лосс
хоурс_веек
Да бисте увезли ЦСВ скуп података, можете користити објекат пд.реад_цсв (). Основни аргумент изнутра је:
Синтакса:
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