pandalar

Pandalar Python'da Group by Nasıl Kullanılır

Pandalar Python'da Group by Nasıl Kullanılır
Pandalar işleve göre gruplandır, DataFrames nesnelerini veya sütunlarını belirli koşullara veya kurallara göre gruplamak için kullanılır. Groupby işlevini kullanarak veri kümesi yönetimi daha kolaydır. Ancak, ilgili tüm kayıtlar gruplar halinde düzenlenebilir. Pandalar kitaplığını kullanarak, verileri farklı değişken türlerine göre gruplandırmak için Pandalar grubunu işleve göre uygulayabilirsiniz. Çoğu geliştirici, işleve göre grup için üç temel teknik kullandı. İlk olarak, verilerin belirli koşullara göre gruplara ayrıldığı bölme. Ardından, bu gruplara belirli işlevleri uygulayın. Sonunda, çıktıyı veri yapısı biçiminde birleştirin.

Bu yazıda, panda'nın python'unda işleve göre bir grubun temel kullanımlarını inceleyeceğiz. Tüm komutlar Pycharm editöründe yürütülür.

Grubun ana konseptini çalışanın verilerinin yardımıyla tartışalım. Bazı yararlı çalışan ayrıntıları içeren bir veri çerçevesi oluşturduk (Employee_Names, Designation, Employee_city, Age).

İşleve Göre Gruplama Kullanarak Dizi Birleştirme

groupby işlevini kullanarak dizeleri birleştirebilirsiniz. Aynı kayıtlar tek bir hücrede ',' ile birleştirilebilir.

Misal

Aşağıdaki örnekte, çalışanları 'Atanma' sütununa göre verileri sıraladık ve aynı atamaya sahip Çalışanlar'a katıldık. Lambda işlevi 'Çalışan_Adı' üzerinde uygulanır.

pandaları pd olarak içe aktar
df = pd.Veri çerçevesi(
'Çalışan_Adları':['Sam', 'Ali', 'Ömer', 'Raees', 'Mahwish', 'Hania', 'Mirha', 'Maria', 'Hamza'],
'Atanma':['Yönetici', 'Personel', 'BT görevlisi', 'BT görevlisi', 'İK', 'Personel', 'İK', 'Personel', 'Ekip Lideri'],
'Çalışan_şehir':['Karaçi', 'Karaçi', 'İslamabad', 'İslamabad', 'Quetta', 'Lahor', 'Faislabad', 'Lahor', 'İslamabad'],
'Çalışan Yaşı':[60, 23, 25, 32, 43, 26, 30, 23, 35]
)
df1=df.groupby("Tanıma")['Çalışan_Adları'].uygula(lambda Çalışan_Adları: ','.katıl(Çalışan_Adları))
yazdır(df1)

Yukarıdaki kod çalıştırıldığında aşağıdaki çıktı görüntülenir:

Değerleri artan düzende sıralama

' öğesini çağırarak groupby nesnesini normal bir veri çerçevesinde kullanın.to_frame()' ve ardından yeniden indeksleme için reset_index() kullanın. sort_values() öğesini çağırarak sütun değerlerini sıralayın.

Misal

Bu örnekte, Çalışanın yaşını artan düzende sıralayacağız. Aşağıdaki kod parçasını kullanarak, 'Çalışan_Adı' ile artan sırada 'Çalışan_Yaşını' aldık.

pandaları pd olarak içe aktar
df = pd.Veri çerçevesi(
'Çalışan_Adları':['Sam', 'Ali' , 'Ömer', 'Raees', 'Mahwish', 'Hania', 'Mirha', 'Maria', 'Hamza'],
'Atanma':['Yönetici', 'Personel', 'BT görevlisi', 'BT görevlisi', 'İK', 'Personel', 'İK', 'Personel', 'Ekip Lideri'],
'Çalışan_şehir':['Karaçi', 'Karaçi', 'İslamabad', 'İslamabad', 'Quetta', 'Lahor', 'Faislabad', 'Lahor', 'İslamabad'],
'Çalışan Yaşı':[60, 23, 25, 32, 43, 26, 30, 23, 35]
)
df1=df.groupby('Çalışan_Adları')['Çalışan_Yaşı'].toplam().to_frame().reset_index().sort_values(by='Employee_Age')
yazdır(df1)

groupby ile agrega kullanımı

Sayım(), toplam(), ortalama(), medyan(), mode(), std(), min(), max() gibi veri gruplarına uygulayabileceğiniz bir dizi işlev veya toplama vardır.

Misal

Bu örnekte, aynı 'Çalışan_şehir'e ait Çalışanları saymak için groupby ile bir 'count()' işlevi kullandık.

pandaları pd olarak içe aktar
df = pd.Veri çerçevesi(
'Çalışan_Adları':['Sam', 'Ali' , 'Ömer', 'Raees', 'Mahwish', 'Hania', 'Mirha', 'Maria', 'Hamza'],
'Atanma':['Yönetici', 'Personel', 'BT görevlisi', 'BT görevlisi', 'İK', 'Personel', 'İK', 'Personel', 'Ekip Lideri'],
'Çalışan_şehir':['Karaçi', 'Karaçi', 'İslamabad', 'İslamabad', 'Quetta', 'Lahor', 'Faislabad', 'Lahor', 'İslamabad'],
'Çalışan Yaşı':[60, 23, 25, 32, 43, 26, 30, 23, 35]
)
df1=df.groupby('Çalışan_şehir').Miktar()
yazdır(df1)

Aşağıdaki çıktıyı görebileceğiniz gibi, Atama, Çalışan_Adları ve Çalışan_Yaş sütunları altında, aynı şehre ait sayıları sayın:

Groupby kullanarak verileri görselleştirin

'matplotlib'i içe aktar'ı kullanarak.pyplot' ile verilerinizi grafikler halinde görselleştirebilirsiniz.

Misal

Burada, aşağıdaki örnek, groupby deyimini kullanarak verilen DataFrame'den 'Employee_Nmaes' ile 'Employee_Age' öğesini görselleştirir.

pandaları pd olarak içe aktar
matplotlib'i içe aktar.plt olarak pyplot
veri çerçevesi = pd.Veri çerçevesi(
'Çalışan_Adları':['Sam', 'Ali' , 'Ömer', 'Raees', 'Mahwish', 'Hania', 'Mirha', 'Maria', 'Hamza'],
'Atanma':['Yönetici', 'Personel', 'BT görevlisi', 'BT görevlisi', 'İK', 'Personel', 'İK', 'Personel', 'Ekip Lideri'],
'Çalışan_şehir':['Karaçi', 'Karaçi', 'İslamabad', 'İslamabad', 'Quetta', 'Lahor', 'Faislabad', 'Lahor', 'İslamabad'],
'Çalışan Yaşı':[60, 23, 25, 32, 43, 26, 30, 23, 35]
)
plt.clf()
veri çerçevesi.groupby('Çalışan_Adları').toplam().arsa(tür='bar')
plt.göstermek()

Misal

Groupby kullanarak yığın grafiği çizmek için, 'stacked=true' değerini çevirin ve aşağıdaki kodu kullanın:

pandaları pd olarak içe aktar
matplotlib'i içe aktar.plt olarak pyplot
df = pd.Veri çerçevesi(
'Çalışan_Adları':['Sam', 'Ali' , 'Ömer', 'Raees', 'Mahwish', 'Hania', 'Mirha', 'Maria', 'Hamza'],
'Atanma':['Yönetici', 'Personel', 'BT görevlisi', 'BT görevlisi', 'İK', 'Personel', 'İK', 'Personel', 'Ekip Lideri'],
'Çalışan_şehir':['Karaçi', 'Karaçi', 'İslamabad', 'İslamabad', 'Quetta', 'Lahor', 'Faislabad', 'Lahor', 'İslamabad'],
'Çalışan Yaşı':[60, 23, 25, 32, 43, 26, 30, 23, 35]
)
df.groupby(['Çalışan_şehir','Çalışan_Adları']).boyut().yığını kaldır().arsa(tür='bar',yığılmış=Doğru, fontsize='6')
plt.göstermek()

Aşağıdaki grafikte aynı ilde yığılmış çalışan sayısı.

Grupla Sütun Adını şu şekilde değiştirin:

Ayrıca, toplu sütun adını bazı yeni değiştirilmiş adlarla aşağıdaki gibi değiştirebilirsiniz:

pandaları pd olarak içe aktar
matplotlib'i içe aktar.plt olarak pyplot
df = pd.Veri çerçevesi(
'Çalışan_Adları':['Sam', 'Ali' , 'Ömer', 'Raees', 'Mahwish', 'Hania', 'Mirha', 'Maria', 'Hamza'],
'Atanma':['Yönetici', 'Personel', 'BT görevlisi', 'BT görevlisi', 'İK', 'Personel', 'İK', 'Personel', 'Ekip Lideri'],
'Çalışan_şehir':['Karaçi', 'Karaçi', 'İslamabad', 'İslamabad', 'Quetta', 'Lahor', 'Faislabad', 'Lahor', 'İslamabad'],
'Çalışan Yaşı':[60, 23, 25, 32, 43, 26, 30, 23, 35]
)
df1 = df.groupby('Çalışan_Adları')['Tanıma'].toplam().reset_index(name='Çalışan_Tasarım')
yazdır(df1)

Yukarıdaki örnekte, 'Tanıma' adı 'Çalışan_Tasarım' olarak değiştirilmiştir.

Grubu anahtara veya değere göre al

groupby ifadesini kullanarak, veri çerçevesinden benzer kayıtları veya değerleri alabilirsiniz.

Misal

Aşağıda verilen örnekte, 'Tanıma'ya dayalı grup verilerimiz var. Ardından, 'Personel' grubu, .getgroup('Personel').

pandaları pd olarak içe aktar
matplotlib'i içe aktar.plt olarak pyplot
df = pd.Veri çerçevesi(
'Çalışan_Adları':['Sam', 'Ali' , 'Ömer', 'Raees', 'Mahwish', 'Hania', 'Mirha', 'Maria', 'Hamza'],
'Atanma':['Yönetici', 'Personel', 'BT görevlisi', 'BT görevlisi', 'İK', 'Personel', 'İK', 'Personel', 'Ekip Lideri'],
'Çalışan_şehir':['Karaçi', 'Karaçi', 'İslamabad', 'İslamabad', 'Quetta', 'Lahor', 'Faislabad', 'Lahor', 'İslamabad'],
'Çalışan Yaşı':[60, 23, 25, 32, 43, 26, 30, 23, 35]
)
özüt_değer = df.groupby('Tanımlama')
print(çıkartma_değeri.get_group('Personel'))

Çıktı penceresinde aşağıdaki sonuç görüntülenir:

Grup Listesine Değer Ekle

Groupby ifadesi kullanılarak benzer veriler bir liste şeklinde görüntülenebilir. İlk olarak, verileri bir koşula göre gruplayın. Ardından işlevi uygulayarak bu grubu kolayca listelere koyabilirsiniz.

Misal

Bu örnekte, grup listesine benzer kayıtları ekledik. Tüm çalışanlar 'Employee_city' bazında gruba ayrılır ve ardından 'Lambda' fonksiyonu uygulanarak bu grup liste şeklinde alınır.

pandaları pd olarak içe aktar
df = pd.Veri çerçevesi(
'Çalışan_Adları':['Sam', 'Ali' , 'Ömer', 'Raees', 'Mahwish', 'Hania', 'Mirha', 'Maria', 'Hamza'],
'Atanma':['Yönetici', 'Personel', 'BT görevlisi', 'BT görevlisi', 'İK', 'Personel', 'İK', 'Personel', 'Ekip Lideri'],
'Çalışan_şehir':['Karaçi', 'Karaçi', 'İslamabad', 'İslamabad', 'Quetta', 'Lahor', 'Faislabad', 'Lahor', 'İslamabad'],
'Çalışan Yaşı':[60, 23, 25, 32, 43, 26, 30, 23, 35]
)
df1=df.groupby('Çalışan_şehir')['Çalışan_Adları'].uygula(lambda group_series: group_series.Listeye()).reset_index()
yazdır(df1)

Groupby ile Dönüştür işlevinin kullanımı

Çalışanlar yaşlarına göre gruplandırılır, bu değerler toplanır ve 'dönüştür' fonksiyonu kullanılarak tabloya yeni sütun eklenir:

pandaları pd olarak içe aktar
df = pd.Veri çerçevesi(
'Çalışan_Adları':['Sam', 'Ali' , 'Ömer', 'Raees', 'Mahwish', 'Hania', 'Mirha', 'Maria', 'Hamza'],
'Atanma':['Yönetici', 'Personel', 'BT görevlisi', 'BT görevlisi', 'İK', 'Personel', 'İK', 'Personel', 'Ekip Lideri'],
'Çalışan_şehir':['Karaçi', 'Karaçi', 'İslamabad', 'İslamabad', 'Quetta', 'Lahor', 'Faislabad', 'Lahor', 'İslamabad'],
'Çalışan Yaşı':[60, 23, 25, 32, 43, 26, 30, 23, 35]
)
df['toplam']=df.groupby(['Çalışan_Adları'])['Çalışan_Yaşı'].dönüştürmek('toplam')
yazdır(df)

Sonuç

Bu makalede groupby ifadesinin farklı kullanımlarını araştırdık. Verileri nasıl gruplara ayırabileceğinizi ve farklı toplamalar veya işlevler uygulayarak bu grupları kolayca alabileceğinizi gösterdik.

Linux için En İyi 5 Ergonomik Bilgisayar Faresi Ürünleri
Uzun süreli bilgisayar kullanımı bileğinizde veya parmaklarınızda ağrıya neden olur mu?? Sert eklemlerden muzdarip misiniz ve sürekli ellerinizi sıkma...
How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
Remap your mouse buttons differently for different software with X-Mouse Button Control
Maybe you need a tool that could make your mouse's control change with every application that you use. If this is the case, you can try out an applica...