Odak modu
Notebook Link: https://github.com/ine-rmotr-curriculum/freecodecamp-intro-to-pandas/blob/master/3%20-%20Pandas%20-%20DataFrames.ipynb
Pandas Dataframe, satır ve sütunlardan oluşan 2 boyutlu bir tablodur. Aşağıda bir dataframe oluşturalım:
# pokemon dataframe oluşturalım
pokemon = pd.DataFrame({
'atak': [49, 52, 48, 55, 45],
'savunma': [49, 43, 65, 40, 160],
'hız': [45, 65, 43, 90, 70],
'tür': ['ot', 'ateş', 'su', 'elektrik', 'kaya']
}, index=["Bulbasaur", "Charmander", "Squirtle", "Pikachu", "Onix"])
# dataframe'i yazdıralım
pokemon
atak savunma hız tür
Bulbasaur 49 49 45 ot
Charmander 52 43 65 ateş
Squirtle 48 65 43 su
Pikachu 55 40 90 elektrik
Onix 45 160 70 kaya
Dataframe'lerin bazı özelliklerine bakalım:
Dataframe'in sütunlarına ".columns" değeri ile erişelim.
pokemon.columns
Index(['atak', 'savunma', 'hız', 'tür'], dtype='object')
".info()" metodu ile dataframe hakkındaki bazı bilgileri edinebiliriz.
pokemon.info()
<class 'pandas.core.frame.DataFrame'>
Index: 5 entries, Bulbasaur to Onix
Data columns (total 4 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 atak 5 non-null int64
1 savunma 5 non-null int64
2 hız 5 non-null int64
3 tür 5 non-null object
dtypes: int64(3), object(1)
memory usage: 200.0+ bytes
Toplam değer sayısına bakalım:
pokemon.size
20
Pokemon dataframe'inin biçimini (satır ve sütun sayısını) yazdıralım:
pokemon.shape
(5, 4)
Dataframe'in sayısal değerlerinin ortalama, sayı, standart sapma gibi değerlerini yazdıralım:
pokemon.describe()
atak savunma hız count 5.000000 5.000000 5.000000 mean 49.800000 71.400000 62.600000 std 3.834058 50.460876 19.398454 min 45.000000 40.000000 43.000000 25% 48.000000 43.000000 45.000000 50% 49.000000 49.000000 65.000000 75% 52.000000 65.000000 70.000000 max 55.000000 160.000000 90.000000
İstediğimiz sütunu adı ile indeksleyerek seçebiliriz.
pokemon["hız"]
Bulbasaur 45 Charmander 65 Squirtle 43 Pikachu 90 Onix 70 Name: hız, dtype: int64
Dataframe'de de satırları sayısal indeksleriyle seçmek için ".iloc()" metodunu kullanabiliriz.
pokemon.iloc[1]
atak 52 savunma 43 hız 65 tür ateş Name: Charmander, dtype: object
Satırları normal indeksleriyle seçmek için ise ".loc()" metodunu kullanabiliriz.
pokemon.loc["Pikachu"]
atak 55 savunma 40 hız 90 tür elektrik Name: Pikachu, dtype: object
Dataframe'de de dilimleme gibi şeyler yapabiliriz. 2 boyutlu olduğu için şöyle yaparız:
pokemon.loc["Charmander": "Squirtle", "atak": "savunma"]
atak savunma Charmander 52 43 Squirtle 48 65
Not: dataframe'de indeksleme yaparken kullanabiliyorsak ".iloc()" metodunu kullanalım.
Yazılım Kariyerinde İlerlemeni Hızlandıracak Programlar
Patika+ programlarımız ile 4-8 aylık yoğun yazılım kamplarına katıl, temel bilgilerden başlayarak kapsamlı bilgiler edin, yazılım kariyerine başla!
Yorum yapabilmek için derse kayıt olmalısın!