Ugrás a fő tartalomra

Adatelemzés alapjai (python)



Telepítés


 pip ellenőrzi a csomag függőségeket is, és azokat próbálja telepíteni először. Előfordulhat, hogy a telepítés egy másik, függő csomag miatt lesz sikertelen, így figyeljük a hibaüzenetet és a megfelelő csomagot telepítsük bináris csomagból!

pip használat

  • Nyissunk parancssort és lépjünk be a Python mappába. A Python-t nem kell elindítani!
  • Telepítés indítása például az ipython csomag esetén:
    • Scripts\pip.exe install ipython
  • Egy csomag eltávolítása az uninstall opcióval megy:
    • Scripts\pip.exe uninstall ipython

Whl telepítés

whl (wheel) kiterjesztésű csomagok az adott rendszerre binárisan elérhető csomagokat jelentik. Ezeket akkor célszerű használni, ha a pip nem ilyet talál és fordítani próbál, rendszerint sikertelenül.

  • Keressünk elérhető bináris csomagot a neten! Figyeljünk arra, hogy a Python verziószám és a 32 vagy 64 bitesség egyezzen a telepített verzióval!
  • Windows esetén indulhatunk az alábbi oldalról: Unofficial Windows Binaries for Python Extension Packages.
  • Telepítés: Scripts\pip.exe install "Elérési útvonal\csomag.whl"

Python elemzés első lépése / Python for Data Analysis first step





## Python modulok betöltése / Import Python Libraries
%matplotlib inline

import numpy as np
import scipy as sp
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

Panda csomag részei

  • Series (1D tömb / 1d array)
  • DataFrame (2D tömb / 2d labeled array)
  • Panel (3D tömb / general 3d array)

Panda sorozatok / Pandas Series

A Pandas Series egydimenziós és címkével ellátott tömb, amely többnyire azonos típusú adatokat tartalmaz (egész számok, karakterláncok, lebegőpontos számok, Python-objektumok stb.). A tengely címkéket indexnek is nevezik.


# Panda sorozat létrehozása / creating Pandas series :
s1 = pd.Series( [-42,-1,1,7,42] )     ## homogén
s2 = pd.Series( [-3,-1,'Lajos',1,5] ) ## inhomogén / heterogeneous
print('S1\n',s1)
print('-----------')
print('S2\n',s2)
S1
 0   -42
1    -1
2     1
3     7
4    42
dtype: int64
-----------
S2
 0       -3
1       -1
2    Lajos
3        1
4        5
dtype: object
# Index használata / View index values
print('Nincs index : ', s1.index)  ## nincs index

new_index =['a2', 'b2', 'c2', 'd2', 'e2'] 

# index beállítása / set the index 
s1.index=['a1', 'b1', 'c1', 'd1', 'e1'] 
s2.index = new_index 

print('Van index : ', s1.index)
Nincs index :  RangeIndex(start=0, stop=5, step=1)
Van index :  Index(['a1', 'b1', 'c1', 'd1', 'e1'], dtype='object')
# panda sorozat létrehozása index megadásával / Creating Pandas series with index:
s2 = pd.Series( np.random.randn(5), index=['a', 'b', 'c', 'd', 'e'] )
print(s2)

print( 'v1 (index) :', s2['a'],' | v2 :',  s2[0])
a    0.372578
b    1.062642
c    0.319626
d   -2.380873
e   -0.038077
dtype: float64
v1 : 0.37257833425649717  | v2 : 0.37257833425649717
# Index értékek / View index values
print(s2.index)
Index(['a', 'b', 'c', 'd', 'e'], dtype='object')

data = {'pi': 3.1415, 'e': 2.71828}  # dictionary
print(data)
print('Könyvtár : ', data['pi'])

# Pand sorozat létrehozása könyvtárból / Create a Series from dictionary
s3 = pd.Series ( data )
print(s3)
print('Panda sorozat : ', s3['pi'])
{'pi': 3.1415, 'e': 2.71828}
Könyvtár :  3.1415
pi    3.14150
e     2.71828
dtype: float64
Panda sorozat :  3.1415

# Elemek átrendezése és bővítése / reordering the elements and insert
s4 = pd.Series ( data, index = ['e', 'pi', 'egyeb'])
print(s4)

## Ha nem kap értéket valami akkor használatos a panda sepciális jelzője
## NAN (non a number) - is used to specify a missing value in Pandas.
e        2.71828
pi       3.14150
egyeb        NaN
dtype: float64

## pozició hivatkozás (tulhivatkozást elbírja)
print(s1[:12])      # első tizenkét elem (de csak 4 van ténylegesen)/ First 12 elements

print('--------------')

print( s1[[2,1,0]])  # elemek konkrét sorrendjének megadása / Elements out of order
a1   -42
b1    -1
c1     1
d1     7
e1    42
dtype: int64
--------------
c1     1
b1    -1
a1   -42
dtype: int64

# nevezetes értékek megjelenítése ndarray szerint / Series can be used as ndarray:
print("Median:" , s4.median())
Median: 2.9298900000000003




































Mire figyeljünk:

  • − eloszlások: 1–több populáció, vagy csak nem rétegeztünk
  • − kiugró értékek: hiba az adatbevitelben, vagy extrém mérték
  • − középértékek, szóródás: mennyire tér el csoportok között
  • − változók közötti kapcsolat – szórásdiagramok: milyen / allometria




Link : https://github.com/klajosw/python/blob/master/kl_py_adatelemzes_01.ipynb

Megjegyzések