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:

Pandalar Veri Çerçevesi

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]

Bu yazıyı şu şekilde özetleyin: