
Den som avser använda Python för data science, machine learning (artificiell intelligens) eller statistik kommer med all säkerhet ha användning av nedanstående bibliotek. Dessa bibliotek är mycket omfattande och har skapats av ett stort antal experter runt om i världen. Tillsammans gör de Python till ett kraftfullt verktyg för dataanalys. Vi rekommenderar att Du använder Anaconda för att använda Python inom data science. I Anaconda är ett hundratal bibliotek förinstallerade, vilket innebär att du redan vid installationen har den absoluta merparten av de funktioner du behöver. För att använda de förinstallerade biblioteken måste du anropa (aktivera) dem i din Python-kod, vilket gör med funktionen import
. I nedanstående exempel aktiverar vi paketet pandas
som är ett av de mest använda biblioteket inom data science.
# för att aktivera pandas import pandas # för att aktivera pandas och förkorta namnet till "pd" import pandas as pd
I ovanstående exempel har vi importerat (aktiverat)pandas
och förkortat bibliotekets namn till pd
för att underlätta användningen. Detta innebär exempelvis att vi inte behöver skriva pandas.read_csv()
utan det räcker med pd.read_csv()
.
Innan vi går vidare till de enskilda biblioteken skall vi se hur man installerar ett bibliotek som inte är förinstallerat i Anaconda. Det finns många tillvägagångssätt för att installera paket till Python och det enklaste är faktiskt att använda Anacondas package manager Conda. För att använda Conda startas Terminal på en Mac OS eller Command Prompt på Windows.


Nu installerar vi paketet plotly
via Terminal. Börja med att öppna Terminal och skriv conda install plotly
. Acceptera att paketet installeras efter nedladdningen genom att skriva y
när frågan Proceed ([y]/n)?
ställs. Processen är likadan i Windows.
Essentiella bibliotek i Python
NumPy (Numerical Python)
NumPy är ett omfattande bibliotek för lagring av data samt beräkningar. NumPy innehåller datastrukturer, algoritmer och annat som används för att hantera numeriska data i Python. NumPy inbegriper metoder för arrayer (listor) som är effektivare än Pythons inbyggda metoder. Det gör att NumPy är snabbare än Pythons standardmetoder. NumPy innehåller även funktioner som kan användas för att läsa in data till Python, liksom exportera data från Python.
http://numpy.org.
pandas (panel data)
Pandas är det mest potenta biblioteket för manipulering av data (eng. data wrangling). Pandas innehåller en lång rad funktioner för import och export av data, samt för indexering och manipulering av data. Detta biblioteket är ofrånkomligt för den som avser använda Python för data science. Pandas inbegriper också sofistikerade metoder för datastrukturer. Den mest använda datastrukturen i pandas är data frame
(en tabell med kolumner och rader) samt serier
(eng. series, vilket är en 1-dimensionell array).
Pandas är oerhört effektivt för att omforma (eng. reshape), samköra (eng. merge), dela (eng. slice), aggregera (eng. aggregate) och selektera (eng. subset) data. Faktum är att den absoluta merparten av koden i ett data science projekt brukar bestå av data wrangling, vilket är de stegen som krävs för att preparera data, så att analyser kan genomföras. Att ha ett sammanhängande bibliotek för all data wrangling är förstås fördelaktigt.
Till skillnad från programmeringsspråket R så finns ingen inbygd variant av data frames i Python. Data frames är centrala för i princip alla dataanalys. En data frame är en tabell med kolumner och rader.
matplotlib
Matplotlib används för att visualisera data. Härutöver kan även seaborn
och plotly
rekommenderas.
iPython & Jupiter Notebook
Jupiter Notebook har diskuterats i föregående kapitel.
SciPy (Scientific Python)
SciPy inbegriper funktioner för avancerade beräkningar.
scikit-learn
scikit-learn är ett enormt bibliotek med funktioner för analys av data. I scikit-learn finns klassifikationsmodeller (t ex SVM, random forest, gbm, logistisk regression, etc), regressionsanalys (linjär regression, ridge regression, etc), klusteranalys (k-means clustering, etc), metoder för datareduktion (PCA, PLS, feature selection, etc), model tuning and selection (med funktioner som grid search, cross validation, etc), preprocessing av data och så vidare.
statsmodels
I statsmodels finns klassiska statistiska metoder, såsom linjär regression, GLM, ANOVA, ARIMA, icke-parametriska metoder samt möjligheter att visualisera data.