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")
	


:)