Bibliotek pandas
Pandas jest biblioteką oferującą szereg narzędzi do obróbki danych.
Aby zastosowaćbibliotekę w kodzie należy ją zaimportować.
import pandas as pd
Aby wprowadzić dane bezpośrednio w kodzie należy skorzystać z następującej funkcji
df=pd.DataFrame(
{
"imie":[
"Wiktor",
"Anna",
"Konrad"
],
"wiek":[30,18,54],
"płeć":["mężczyzna","kobiet","mężczyzna"]
}
)
W przypadku gdy chcemy pracować z danymi w konkretnej kolumnie stosujemy następującą komendę.
df["wiek"]
Tworzenie serii danych w kodzie. Serie liczą tylko jedną kolumnę, więc nie mają etykiet kolumn. Posiadaj etykiety wierszy.
dane = pd.Series([30,18,54], name="wiek")
Aby sprawdzić różne wartość w kolumnie stosuje się następującą kolumnę.
df["wiek"].max()
df["wiek"].min()
df["wiek"].mean()
df["wiek"].median()
Komenda do wydobycia podstawowych wartości analizy statystycznej.
df.describe()
komenda generuje:
count 3.0000
mean 38.333333
std 18.230012
min 22.000000
25% 28.500000
50% 35.000000
75% 46.500000
max 58.000000
Wczytanie danych z pliku do zmiennej.
dane = pd.read_csv("data/dane.csv")
Druk określonej ilości pierwszych wierszy (np.5 linii) i ostatnich wierszy (np. 10 linii)
df.head(5) # głowa
df.tail(10) # ogon
Ponieważ w tabelach mogą występować dane róznego rodzaju, do sprawdzenia stosuje się nastepującą komendę.
dane.dtypes
#przykładowy wydruk
PassengerId int64
Survived int64
Pclass int64
Name object # string
Sex object # string
Age float64
Zapisanie ramki do pliku wykonuje się komendą "to_*".
dane.to_excel("plik.xls",sheet_name="pasażerowie",index=False) # index = False - nie zaisuje etykiet indeksu
Odczytanie pliku exela.
dane=pd.read_excel("plik.xls",sheet_name="pasażerowie")
Podsumowanie techniczne ramki.
dane.info()
Sprawdzenie typu danych w szeregu.
type(df["wiek"])
Sprawdzienie wymiaru ramki wykonujemy komendą "shape". Szereg jest jednowymiarowy, stąd jedna wartość.
dane["wiek"].shape
Istnieje możliwosć druku większej ilości wybranych kolumn.
dane2 = df[["wiek","płeć"]]
Filtrowanie danych
Powyżej 31 roku życia.
ponad=df[df["wiek"] >31]
Powyżej 31 roku życia.
#zapisujemy wielkości spełniające kryterium do nowej zmiennej.
ponad=df[df["wiek"] >31]
# sprawdzamy która zmienna spełnia warunek (True albo False).
df["wiek"] >31
Sprawdzamy które zmiene spełniają jeden z dwóch warunków.
weryfikacja = df[df["wiek"].isin([18, 30])]
lub
weryfikacja = df[(df["wiek"] == 18) | (df["wiek"] == 30)]
Sprawdzamy które wiersze posiadają przypisną wartość (nie są wartością
Null
wer = df[df["wiek"].notna()]
Drukowanie wybranych kolumn z warunku.
ponad=df[df["wiek"] >31, "imie"]
Drukowanie wybranych wierszy i kolumn.
df.iloc[3:14,4:6]
Wprowadzanie nowych wartości do wybranych kmórek.
df.iloc[0:3,3]="anonimowe" # do pierwszy trzech elementów 3 kolumny wpisujemy string "anonimowe".
Obliczanie wartości statystycznych wedle kryterium z innej kolumny.
df[["wiek", "płeć"]].groupby("płeć").mean() # oblicza średni wiek dla dwóch kategorii płci
df.groupby("płeć").mean() # oblicza średnią wartość dla każdej kolumny zawierajcej wartość liczbową
Zliczanie ilości dla każdej wartości/kategorii występującej w kolumie
df["wiek"].value_counts()
Sortowanie.
df.sort_values(by="wiek")