Python Pandalar Eğitimi: DataFrame, Tarih Aralığı, Pandaların Kullanımı
Pandalar Nedir? Python?
Pandalar veri manipülasyonu ve analizi yapmanızı sağlayan açık kaynaklı bir kütüphanedir. Python. Pandalar Python kütüphane, sayısal tablolar ve zaman serileri için veri manipülasyonu ve veri işlemleri sunar. Pandas, verileri oluşturmanın, manipüle etmenin ve düzenlemenin kolay bir yolunu sağlar. NumPy'nin üzerine inşa edilmiştir, yani çalışması için NumPy'ye ihtiyaç duyar.
Pandaları neden kullanmalı?
Veri bilimcileri Pandalardan yararlanıyor Python Aşağıdaki avantajlarından dolayı:
- Eksik verileri kolayca işler
- O kullanır Tek boyutlu veri yapısı için seriler ve Çok boyutlu veri yapısı için DataFrame
- Verileri dilimlemek için etkili bir yol sağlar
- Verileri birleştirmek, birleştirmek veya yeniden şekillendirmek için esnek bir yol sağlar
- Çalışmak için güçlü bir zaman serisi aracı içerir
Özetle Pandas kullanışlı bir kütüphanedir. veri analizi. Veri manipülasyonu ve analizi gerçekleştirmek için kullanılabilir. Pandalar, güçlü ve kullanımı kolay veri yapılarının yanı sıra bu yapılar üzerinde hızlı bir şekilde işlem gerçekleştirme olanağı da sağlar.
Pandalar Nasıl Kurulur?
Şimdi bunda Python Pandalar eğitimi, Pandaların nasıl kurulacağını öğreneceğiz Python.
Pandas kütüphanesini kurmak için lütfen eğitimimize bakın TensorFlow nasıl kurulur. Pandalar varsayılan olarak kuruludur. Uzak durumda, pandalar kurulmamış-
Pandaları aşağıdakileri kullanarak yükleyebilirsiniz:
- Anaconda: conda kurulumu -c anaconda pandalar
- In Jupyter Not defteri :
import sys
!conda install --yes --prefix {sys.prefix} pandas
Pandas DataFrame nedir?
Pandalar Veri Çerçevesi farklı sütun türlerine sahip etiketli veri yapısına sahip iki boyutlu bir dizidir. DataFrame, bilgileri depolamak için satırlar ve bilgileri adlandırmak için sütunlar içeren, verileri tablo biçiminde depolamanın standart bir yoludur. Örneğin fiyat bir sütunun adı olabilir ve 2,3,4 fiyat değerleri olabilir.
Veri Çerçevesi istatistikçiler ve diğer veri uygulayıcıları tarafından iyi bilinmektedir.
Pandalar veri çerçevesinin resminin altında:
Seri Nedir?
Bir seri tek boyutlu bir veri yapısıdır. Tamsayı, kayan nokta ve dize gibi herhangi bir veri yapısına sahip olabilir. Hesaplama yapmak veya tek boyutlu bir dizi döndürmek istediğinizde kullanışlıdır. Tanım gereği bir serinin birden fazla sütunu olamaz. İkinci durum için lütfen veri çerçevesi yapısını kullanın.
Python Pandas Serisinin parametreleri şu şekildedir:
- Veri: bir liste, sözlük veya skaler değer olabilir
pd.Series([1., 2., 3.])
0 1.0 1 2.0 2 3.0 dtype: float64
Dizini index.php ile ekleyebilirsiniz. Satırları adlandırmanıza yardımcı olur. Uzunluk sütunun boyutuna eşit olmalıdır
pd.Series([1., 2., 3.], index=['a', 'b', 'c'])
Aşağıda üçüncü satırlarda değeri eksik olan bir Pandas serisi yaratıyorsunuz. Not: eksik değerler Python "NaN" olarak belirtilir. Eksik değeri oluşturmak için numpy'yi kullanabilirsiniz: np.nan yapay olarak
pd.Series([1,2,np.nan])
Çıktı
0 1.0 1 2.0 2 NaN dtype: float64
Pandas DataFrame'i oluşturun
Şimdi bu Pandas DataFrame eğitiminde nasıl oluşturulacağını öğreneceğiz Python Pandalar veri çerçevesi:
Numpy dizisini pd.Dataframe() ile pandas veri çerçevesine dönüştürebilirsiniz. Bunun tersi de mümkündür. Bir pandanın Veri Çerçevesini bir diziye dönüştürmek için np.array() komutunu kullanabilirsiniz.
## Numpy to pandas
import numpy as np
h = [[1,2],[3,4]]
df_h = pd.DataFrame(h)
print('Data Frame:', df_h)
## Pandas to numpy
df_h_n = np.array(df_h)
print('Numpy array:', df_h_n)
Data Frame: 0 1
0 1 2
1 3 4
Numpy array: [[1 2]
[3 4]]
Pandalar veri çerçevesi oluşturmak için bir sözlük de kullanabilirsiniz.
dic = {'Name': ["John", "Smith"], 'Age': [30, 40]}
pd.DataFrame(data=dic)
| Yaş | İsim | |
|---|---|---|
| 0 | 30 | John |
| 1 | 40 | Demirci |
Panda Aralığı Verileri
Pandalar, bir tarih aralığı oluşturmak için kullanışlı bir API'ye sahiptir. Birlikte öğrenelim Python Panda örnekleri:
pd.data_range(tarih,dönem,frekans):
- İlk parametre başlangıç tarihidir
- İkinci parametre ise dönem sayısıdır (bitiş tarihi belirtilmişse isteğe bağlıdır)
- Son parametre frekanstır: gün: 'G', ay: 'A' ve yıl: 'Y'.
## Create date
# Days
dates_d = pd.date_range('20300101', periods=6, freq='D')
print('Day:', dates_d)
Çıktı
Day: DatetimeIndex(['2030-01-01', '2030-01-02', '2030-01-03', '2030-01-04', '2030-01-05', '2030-01-06'], dtype='datetime64[ns]', freq='D')
# Months
dates_m = pd.date_range('20300101', periods=6, freq='M')
print('Month:', dates_m)
Çıktı
Month: DatetimeIndex(['2030-01-31', '2030-02-28', '2030-03-31', '2030-04-30','2030-05-31', '2030-06-30'], dtype='datetime64[ns]', freq='M')
Verileri İnceleme
Veri kümesinin başını veya kuyruğunu, aşağıdaki Pandalar örneğinde gösterildiği gibi, pandanın veri çerçevesinin adından önce gelen head() veya tail() ile kontrol edebilirsiniz:
) 1 Adım İle rastgele bir dizi oluşturun dizi. Dizinin 4 sütunu ve 6 satırı var
random = np.random.randn(6,4)
) 2 Adım Daha sonra pandaları kullanarak bir veri çerçevesi oluşturursunuz.
Date_m'yi veri çerçevesi için dizin olarak kullanın. Bu, her satıra bir tarihe karşılık gelen bir “isim” veya bir indeks verileceği anlamına gelir.
Son olarak argüman sütunlarıyla birlikte 4 sütuna bir ad verirsiniz.
# Create data with date
df = pd.DataFrame(random,
index=dates_m,
columns=list('ABCD'))
) 3 Adım Kafa işlevini kullanma
df.head(3)
| A | B | C | D | |
|---|---|---|---|---|
| 2030-01-31 | 1.139433 | 1.318510 | -0.181334 | 1.615822 |
| 2030-02-28 | -0.081995 | -0.063582 | 0.857751 | -0.527374 |
| 2030-03-31 | -0.519179 | 0.080984 | -1.454334 | 1.314947 |
Adım 4) Kuyruk fonksiyonunun kullanılması
df.tail(3)
| A | B | C | D | |
|---|---|---|---|---|
| 2030-04-30 | -0.685448 | -0.011736 | 0.622172 | 0.104993 |
| 2030-05-31 | -0.935888 | -0.731787 | -0.558729 | 0.768774 |
| 2030-06-30 | 1.096981 | 0.949180 | -0.196901 | -0.471556 |
Adım 5) Veriler hakkında ipucu elde etmek için mükemmel bir uygulama, define() işlevini kullanmaktır. Veri kümesinin sayımlarını, ortalamasını, std'sini, minimumunu, maksimumunu ve yüzdelik dilimini sağlar.
df.describe()
| A | B | C | D | |
|---|---|---|---|---|
| saymak | 6.000000 | 6.000000 | 6.000000 | 6.000000 |
| ortalama | 0.002317 | 0.256928 | -0.151896 | 0.467601 |
| std | 0.908145 | 0.746939 | 0.834664 | 0.908910 |
| dk | -0.935888 | -0.731787 | -1.454334 | -0.527374 |
| 25% | -0.643880 | -0.050621 | -0.468272 | -0.327419 |
| 50% | -0.300587 | 0.034624 | -0.189118 | 0.436883 |
| 75% | 0.802237 | 0.732131 | 0.421296 | 1.178404 |
| maksimum | 1.139433 | 1.318510 | 0.857751 | 1.615822 |
Verileri Dilimle
Bunun son noktası Python Pandalar öğreticisi bir pandanın veri çerçevesinin nasıl dilimleneceğiyle ilgilidir.
Aşağıdaki Pandalar örneğinde gösterildiği gibi belirli bir sütundaki verileri çıkarmak için sütun adını kullanabilirsiniz:
## Slice ### Using name df['A'] 2030-01-31 -0.168655 2030-02-28 0.689585 2030-03-31 0.767534 2030-04-30 0.557299 2030-05-31 -1.547836 2030-06-30 0.511551 Freq: M, Name: A, dtype: float64
Birden fazla sütun seçmek için köşeli parantezin iki katı [[..,..]] kullanmanız gerekir.
İlk parantez çifti sütunları seçmek istediğinizi, ikinci parantez çifti ise hangi sütunları döndürmek istediğinizi belirtir.
df[['A', 'B']].
| A | B | |
|---|---|---|
| 2030-01-31 | -0.168655 | 0.587590 |
| 2030-02-28 | 0.689585 | 0.998266 |
| 2030-03-31 | 0.767534 | -0.940617 |
| 2030-04-30 | 0.557299 | 0.507350 |
| 2030-05-31 | -1.547836 | 1.276558 |
| 2030-06-30 | 0.511551 | 1.572085 |
Satırları şununla dilimleyebilirsiniz:
Aşağıdaki kod ilk üç satırı döndürür
### using a slice for row df[0:3]
| A | B | C | D | |
|---|---|---|---|---|
| 2030-01-31 | -0.168655 | 0.587590 | 0.572301 | -0.031827 |
| 2030-02-28 | 0.689585 | 0.998266 | 1.164690 | 0.475975 |
| 2030-03-31 | 0.767534 | -0.940617 | 0.227255 | -0.341532 |
loc işlevi sütunları adlarına göre seçmek için kullanılır. Her zamanki gibi, virgülden önceki değerler satırları, virgülden sonraki değerler ise sütunu belirtir. Birden fazla sütun seçmek için parantezleri kullanmanız gerekir.
## Multi col df.loc[:,['A','B']]
| A | B | |
|---|---|---|
| 2030-01-31 | -0.168655 | 0.587590 |
| 2030-02-28 | 0.689585 | 0.998266 |
| 2030-03-31 | 0.767534 | -0.940617 |
| 2030-04-30 | 0.557299 | 0.507350 |
| 2030-05-31 | -1.547836 | 1.276558 |
| 2030-06-30 | 0.511551 | 1.572085 |
Pandas'ta birden çok satır ve sütun seçmenin başka bir yöntemi daha vardır. iloc[] kullanabilirsiniz. Bu yöntem, sütun adı yerine dizini kullanır. Aşağıdaki kod yukarıdakiyle aynı veri çerçevesini döndürür
df.iloc[:, :2]
| A | B | |
|---|---|---|
| 2030-01-31 | -0.168655 | 0.587590 |
| 2030-02-28 | 0.689585 | 0.998266 |
| 2030-03-31 | 0.767534 | -0.940617 |
| 2030-04-30 | 0.557299 | 0.507350 |
| 2030-05-31 | -1.547836 | 1.276558 |
| 2030-06-30 | 0.511551 | 1.572085 |
Bir Sütun Bırakın
pd.drop() işlevini kullanarak sütunları bırakabilirsiniz.
df.drop(columns=['A', 'C'])
| B | D | |
|---|---|---|
| 2030-01-31 | 0.587590 | -0.031827 |
| 2030-02-28 | 0.998266 | 0.475975 |
| 2030-03-31 | -0.940617 | -0.341532 |
| 2030-04-30 | 0.507350 | -0.296035 |
| 2030-05-31 | 1.276558 | 0.523017 |
| 2030-06-30 | 1.572085 | -0.594772 |
birbirine bağlama
Pandas'ta iki DataFrame'i birleştirebilirsiniz. pd.concat()'ı kullanabilirsiniz.
Öncelikle iki DataFrame oluşturmanız gerekir. Şu ana kadar her şey yolunda, zaten veri çerçevesi oluşturmaya aşinasınız
import numpy as np
df1 = pd.DataFrame({'name': ['John', 'Smith','Paul'],
'Age': ['25', '30', '50']},
index=[0, 1, 2])
df2 = pd.DataFrame({'name': ['Adam', 'Smith' ],
'Age': ['26', '11']},
index=[3, 4])
Son olarak iki DataFrame'i birleştiriyorsunuz
df_concat = pd.concat([df1,df2]) df_concat
| Yaş | isim | |
|---|---|---|
| 0 | 25 | John |
| 1 | 30 | Demirci |
| 2 | 50 | Paul |
| 3 | 26 | Adem |
| 4 | 11 | Demirci |
Drop_duplicates
Bir veri kümesi yinelenen bilgi kullanımı içerebiliyorsa, "drop_duplicates" yinelenen satırları hariç tutmak kolaydır. `df_concat`ın yinelenen bir gözlemi olduğunu görebilirsiniz; `Smith`, `name' sütununda iki kez görünüyor.
df_concat.drop_duplicates('name')
| Yaş | isim | |
|---|---|---|
| 0 | 25 | John |
| 1 | 30 | Demirci |
| 2 | 50 | Paul |
| 3 | 26 | Adem |
Değerleri sırala
Değeri sort_values ile sıralayabilirsiniz
df_concat.sort_values('Age')
| Yaş | isim | |
|---|---|---|
| 4 | 11 | Demirci |
| 0 | 25 | John |
| 3 | 26 | Adem |
| 1 | 30 | Demirci |
| 2 | 50 | Paul |
Yeniden adlandır: dizin değişikliği
Pandas'ta bir sütunu yeniden adlandırmak için yeniden adlandır'ı kullanabilirsiniz. İlk değer geçerli sütun adı, ikinci değer ise yeni sütun adıdır.
df_concat.rename(columns={"name": "Surname", "Age": "Age_ppl"})
| Yaş_kişi | Soyadı | |
|---|---|---|
| 0 | 25 | John |
| 1 | 30 | Demirci |
| 2 | 50 | Paul |
| 3 | 26 | Adem |
| 4 | 11 | Demirci |
ÖZET
Aşağıda Pandalar ile veri bilimi için en kullanışlı yöntemin bir özeti bulunmaktadır
| veri içe aktar | okuma_csv |
|---|---|
| seri oluştur | Dizi |
| Veri Çerçevesi Oluştur | Veri çerçevesi |
| Tarih aralığı oluştur | tarih aralığı |
| dönüş kafası | baş |
| dönüş kuyruğu | kuyruk |
| Tanımlamak | tanımlamak |
| adını kullanarak dilimle | veriadı['sütunadı'] |
| Satırları kullanarak dilimleme | veri_adı[0:5] |

