Анализа података и визуелизација са Питхон-ом
Питхон се нашироко користи као језик за анализу података због својих робусних библиотека и алатки за управљање подацима. Међу овим библиотекама је Пандас који олакшава манипулацију и истраживања података и анализу. користићемо Панде за анализу скупа података тзв Цоунтри-дата.цсв од Каггле. Док радимо са овим подацима, уводимо и неке важне концепте у Пандас.
1. Инсталација
Најлакши начин да инсталирате панде је да користите пип:
Python pip install pandas
или Преузмите са овде .
2. Креирање ДатаФраме-а у Пандас-у
А ДатаФраме је структура података слична табели у Пандас-у која има податке ускладиштене у редовима и колонама. ДатаФраме се може креирати прослеђивањем више објеката питхон серије у DataFrame разред ( пд.ДатаФраме() ) користећи pd.Series методом. У овом примеру се користе два објекта серије: s1 као први ред и s2 као други ред.
Пример 1: Креирање оквира података из серије:
Python
import pandas as pd # Creating two Series: s1 (numbers) and s2 (names) s1 = pd . Series ([ 1 2 ]) s2 = pd . Series ([ 'Ashish' 'Sid' ]) # Creating DataFrame by combining Series as rows dataframe = pd . DataFrame ([ s1 s2 ]) # Displaying the DataFrame print ( dataframe )
Излаз:
Пример 2: ДатаФраме са листе са прилагођеним индексом и називима колона:
Python dataframe1 = pd . DataFrame ([[ 1 2 ] [ 'Ashish' 'Sid' ]] index = [ 'r1' 'r2' ] columns = [ 'c1' 'c2' ]) print ( dataframe1 )
Излаз:
Пример 3: ДатаФраме из речника:
Python dataframe2 = pd . DataFrame ({ 'c1' : [ 1 'Ashish' ] 'c2' : [ 2 'Sid' ] }) print ( dataframe2 )
Излаз:
3. Увоз података помоћу Панда
Први корак је читање података. У нашем случају подаци се чувају као ЦСВ (Цомма-Сепаратед Валуес) датотека где је сваки ред одвојен новим редом, а свака колона зарезом. Да бисте могли да радите са подацима у Питхон-у, потребно је да прочитате цсв фајл у Пандас ДатаФраме.
Python import pandas as pd # Read Country-data.csv into a DataFrame df = pd . read_csv ( 'Country-data.csv' ) # Prints the first 5 rows of a DataFrame as default df . head () # Prints no. of rows and columns of a DataFrame df . shape
Излаз:
(167 10)4. Индексирање оквира података помоћу Панда
Пандас пружа моћне могућности индексирања. Можете индексирати ДатаФраме користећи оба на основу положаја и на основу етикета методе.
Индексирање засновано на позицији (користећи
Pythoniloc):# prints first 5 rows and every column which replicates df.head() df . iloc [ 0 : 5 :] # prints entire rows and columns df . iloc [::] # prints from 5th rows and first 5 columns df . iloc [ 5 :: 5 ]Излаз:
![]()
![]()
![]()
Индексирање засновано на ознакама (користећи
loc):Индексирање се може радити са ознакама помоћу пандас.ДатаФраме.лоц метод који омогућава индексирање коришћењем ознака уместо позиција.
Примери:
Python# prints first five rows including 5th index and every columns of df df . loc [ 0 : 5 :] # prints from 5th rows onwards and entire columns df . loc [ 5 ::]Излаз:
![]()
![]()
Горе наведено не изгледа много другачије од дф.илоц[0:5:]. То је зато што, иако ознаке редова могу да поприме било коју вредност, наше ознаке редова тачно одговарају позицијама. Али ознаке колона могу учинити ствари много лакшим када радите са подацима.Пример:
Python# Prints the first 5 rows of Time period # value df . loc [: 5 'child_mort' ]Излаз:
![]()
5. ДатаФраме Матх са Пандас
Пандас олакшава извођење математичких операција над подацима ускладиштеним у оквирима података. Операције које се могу изводити на пандама су векторизоване, што значи да су брзе и аутоматски се примењују на све елементе без употребе петљи.
Пример – Математика по колонама:
Python# Adding 5 to every element in column A df [ 'child_mort' ] = df [ 'child_mort' ] + 5 # Multiplying values in column B by 10 df [ 'exports' ] = df [ 'exports' ] * 10 dfИзлаз:
![]()
Статистичке функције у Пандама:
Рачунање оквира података може се обавити коришћењем статистичких функција пандас алата. Можемо користити функције као што су:
-
df.sum()→ збир вредности -
df.mean()→ просек -
df.max()/df.min()→ максималне и минималне вредности -
df.describe()→ брзи резиме статистике
# computes various summary statistics excluding NaN values df . describe () # Provides sum of all the values for each column df . sum ()
Излаз:
6. Визуелизација података са Пандас и Матплотлиб
Пандас је веома једноставан за коришћење Матплотлиб моћна библиотека која се користи за креирање основних графикона и графикона. Са само неколико линија кода можемо да визуализујемо своје податке и боље их разумемо. Испод је неколико једноставних примера који ће вам помоћи да почнете са цртањем користећи Пандас и Матплотлиб:
Python # Import the library first import matplotlib.pyplot as plt
Хистограм
Хистограм показује дистрибуцију вредности у колони.
Python df [ 'income' ] . hist ( bins = 10 ) plt . title ( 'Histogram of Income' ) plt . xlabel ( 'Income Value' ) plt . ylabel ( 'Frequency' ) plt . show ()
Излаз:
Бок Плот
А бок плот је корисно за откривање одступања и разумевање ширења података.
Python df = df . head ( 10 ) plt . figure ( figsize = ( 20 6 )) # Increase width to make x-axis labels clearer df . boxplot ( column = 'imports' by = 'country' ) plt . title ( 'Boxplot by Country' ) plt . suptitle ( '' ) # Removes default title plt . xlabel ( 'Country' ) plt . ylabel ( 'Imports' ) plt . xticks ( rotation = 45 ) # Optional: Rotate x-axis labels for better visibility plt . tight_layout () # Adjust layout to avoid clipping plt . show ()
Излаз:
Сцаттер Плот
А распршивање показује однос између две променљиве.
Python x = df [ 'health' ] y = df [ 'life_expec' ] plt . scatter ( x y label = 'Data Points' color = 'm' marker = '*' s = 30 ) plt . xlabel ( 'Health' ) plt . ylabel ( 'Life Expectancy' ) plt . title ( 'Scatter Plot of Health vs Life Expectancy' ) plt . legend () plt . show ()
Излаз:
Повезани чланак:
- Пандас Интродуцтион
- Исцртавање графикона у Питхон-у
- Рад са цсв датотекама у Питхон-у
- Пандас ДатаФраме
- Увод у Матплотлиб
- Хистограм – Типови дефиниција Графикон и примери
- Бок Плот
- Сцаттер Плот