I den här handledningen lär du dig:
- Importera CSV
- Grupp av
Importera CSV
Under TensorFlow-självstudien kommer du att använda den vuxna datamängden. Det används ofta med klassificeringsuppgift. Den finns tillgänglig på denna URL https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data
Data lagras i CSV-format. Denna dataset innehåller åtta kategoriska variabler:
Denna dataset innehåller åtta kategoriska variabler:
- arbetsklass
- utbildning
- äktenskaplig
- ockupation
- relation
- lopp
- sex
- hemland
dessutom sex kontinuerliga variabler:
- ålder
- fnlwgt
- utbildning_num
- kapitalvinsten
- kapitalförlust
timmar_vecka
För att importera en CSV-dataset kan du använda objektet pd.read_csv (). Det grundläggande argumentet inuti är:
Syntax:
pandas.read_csv(filepath_or_buffer,sep=', ',`names=None`,`index_col=None`,`skipinitialspace=False`)
- filepath_or_buffer: Sökväg eller URL med data
- sep = ',': Definiera avgränsaren som ska användas
- `names = None ': Namnge kolumnerna. Om datamängden har tio kolumner måste du skicka tio namn
- `index_col = Ingen ': Om ja, används den första kolumnen som ett radindex
- `skipinitialspace = False`: Hoppa över mellanslag efter avgränsare.
Mer information om readcsv () finns i den officiella dokumentationen
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html.
Tänk på följande exempel
## 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
Produktion:
(32561, 15)
Grupp av
Ett enkelt sätt att se data är att använda groupby-metoden. Denna metod kan hjälpa dig att sammanfatta data efter grupp. Nedan är en lista över metoder som finns tillgängliga med groupby:
- räkna: räkna
- min: min
- max: max
- elak elak
- median: median
- standardavvikelse: sdt
- etc
Inne i groupby () kan du använda den kolumn du vill använda metoden.
Låt oss ta en titt på en gruppering med vuxenuppsättningen. Du får medelvärdet av alla kontinuerliga variabler efter typ av intäkter, dvs. över 50k eller under 50k
df_train.groupby(['label']).mean()
ålder | fnlwgt | utbildning_num | kapitalvinsten | kapitalförlust | timmar_vecka | |
märka | ||||||
<= 50K | 36,783738 | 190340.86517 | 9.595065 | 148,752468 | 53,142921 | 38.840210 |
> 50K | 44.249841 | 188005.00000 | 11.611657 | 4006,142456 | 195.001530 | 45,473026 |
Du kan få lägsta ålder efter hushållstyp
df_train.groupby (['label']) ['age']. min ()
label<=50K 17>50K 19Name: age, dtype: int64
Du kan också gruppera efter flera kolumner. Till exempel kan du få maximal kapitalvinst beroende på hushållstyp och civilstånd.
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
Du kan skapa en plot efter groupby. Ett sätt att göra det är att använda en plot efter grupperingen.
För att skapa en mer utmärkt plot använder du unstack () efter mean () så att du har samma flernivåindex, eller så går du med värdena med intäkter lägre än 50k och över 50k. I det här fallet kommer tomten att ha två grupper istället för 14 (2 * 7).
Om du använder Jupyter Notebook, se till att lägga till% matplotlib inline, annars visas ingen tomt
%matplotlib inlinedf_plot = df_train.groupby(['label', 'marital'])['capital_gain'].mean().unstack()df_plot