Pandalar Vakası Ne Zaman

Pandalar Vakasi Ne Zaman



Bir koşul sağlandığında veya karşılandığında, panda dilindeki bir vaka ifadesi bir çıktı sağlar veya bir değer döndürür. Bir vaka ifadesi, bir değişkenin değerini bir dizi potansiyel değerle karşılaştırmayı mümkün kılar. Vaka ifadesinde değerler kümesine başvurulduğunda veya iletildiğinde, küme içindeki her bir değer ifadenin içindeki vakalar veya koşullar tarafından kontrol edilir. Aynı işlemi yapmak için if-else ifadesini de kullanabiliriz. Belirli bir koşul doğruysa, if-else ifadesi bir komut dosyasının yürütülmesine neden olur. If-else deyimi, koşul doğruysa bunu, değilse bunu yapmayı söyler. Bu dersimizde case deyimleri ve if-else deyimlerini kullanarak farklı işlemler gerçekleştireceğiz.

Pandalar Vaka Açıklaması Nasıl Kullanılır?

Vaka ifadeleri birkaç şekilde oluşturulabilir. Aşağıdaki temel sözdizimini kullanan NumPy where() işlevi, Pandas DataFrame'de bir case ifadesi oluşturmanın en basit yoludur:

df [ 'sütun adı' ] = np.nerede ( şart 1 , 'değer1',
np.nerede ( şart iki , 'değer2',
np.nerede ( şart 3 , 'değer3', 'değer4' ) ) )







Yukarıdaki ifade, değer için her koşulu kontrol edecek ve koşul karşılanırsa çıktıyı üretecek veya koşula göre değeri döndürecektir.



Örnek # 1: Where() İşlevini Kullanan Pandalar Vaka İfadesi

Case deyimimizi kullanabilmemiz için önce bir veri çerçevesi oluşturalım. Veri çerçevesini oluşturmak için, işlevlerini kullanabilmemiz için önce numpy ve pandas modüllerini içe aktaracağız. pd.Dataframe() veri çerçevemizi oluşturmak için kullanılacaktır.







'df' veri çerçevesini oluşturduk. Anahtarlar ve değerler içeren bir argüman olarak pd.DataFrame() fonksiyonlarının içine bir Python sözlüğü geçirilir. Veri çerçevemizi görmek için print() fonksiyonunu kullanacağız.



'df' veri çerçevesinde ['Ron', 'Tim', 'Anna', 'Jack', 'Rob', 'Lucy'] ve [4, 6' değerlerine sahip “name” ve “marks” olmak üzere iki sütunumuz var. , 8, 6, 9,10] sırasıyla. Adın, öğrencilerin adlarını depolayan sütunlar olduğunu ve 'işaretler' sütununun bazı yeni testlerin puanlarını depoladığını varsayalım. Şimdi her koşul için değerleri tarafımızca belirlenen değerlere dayanan “remarks” adında yeni bir sütun ekleyen bir case deyimi yazacağız.

'numpy.where()' yöntemi, belirtilen koşulu karşılayan bir giriş dizisinden, sütundan veya listeden öğe dizinlerini sağlar. Yukarıdaki geçiş durumunda, np.where() işlevi, 'işaretler' sütunlarındaki her öğeyi kontrol eder. Değer 5'e eşit veya 5'ten küçükse, çıktı olarak 'fail' değerini döndürür. Değer 7'den küçük veya eşitse tatmin edici, değer 9'dan küçük veya eşitse 'harika' dönecektir. Hiçbiri yoksa sonuç mükemmel olacaktır.

Farkedilebileceği gibi, yukarıdaki case ifadesinin döndürdüğü değerleri saklayarak, 'df' veri çerçevemizde yeni 'açıklamalar' sütunu oluşturulur.

Örnek # 2:

Yukarıdaki case ifadesini farklı bir data frame ile tekrar deneyelim. Oyuncuları bir önceki futbol turnuvasındaki toplam hedeflerine göre derecelendirmemiz gerektiğini varsayalım. O halde futbolcu kayıtlarını saklamak için bir veri çerçevesi yapalım.

Veri çerçevemizi oluşturmak için pd.DataFrame() fonksiyonunun içinde 'name' ve 'hedefler' tuşlarına sahip bir sözlük geçtik. Veri çerçevemizi yazdırmak için yazdırma işlevini kullanacağız.

Yukarıdaki veri çerçevesinde görülebileceği gibi, iki sütunumuz var: “name” ve “hedefler”. Sütun adında oyuncuların isimleri var ['John', 'Marty', 'Clay', 'Nick', 'Mike', 'Alex', 'Tom', 'Rocky']. 'Sütun' gollerinde, bir önceki turnuvada her oyuncunun attığı toplam gol sayısı bulunur. Şimdi bu oyuncuları attıkları gollere göre derecelendirmek için vaka açıklamamızı kullanacağız.

Yukarıdaki durum, where() işlevi kullanılarak oluşturulur. Kasanın içinde, ifade işlevi 'işaretler' sütunlarındaki her bir öğeyi koşullara göre kontrol ediyor. 'Hedefler' sütunundaki değer 5'e eşit veya 5'ten küçükse, 'C' döndürür. 'Hedefler' sütunundaki değer 9'a eşit veya 9'dan küçükse, 'B' değerini döndürür. 'Hedefler' sütunundaki değer 10'a eşit veya daha büyükse bir 'A' döndürür. İfade tarafından döndürülen değerler yeni 'derecelendirme' sütununda saklanır. Sonuçları görmek için 'df' yazdıralım.

Yeni 'derecelendirme' sütunu, yukarıdaki komut dosyası kullanılarak başarıyla oluşturuldu.

Örnek # 3: Apply() İşlevini Kullanan Pandas if-else İfadesi

Veri çerçevesinin satır veya sütun ekseni, bir işlevi uygulamak için Apply() yöntemi tarafından kullanılır. Kendi tanımlı fonksiyonumuzu oluşturabilir ve onu pandalarda veri çerçevemizde kullanabiliriz. If-else koşullarını içerecektir. Önce veri çerçevemizi oluşturalım, ardından sonucu oluşturmak için if-else ifadesini kullanacağımız bir fonksiyon oluşturacağız. Veri çerçevemizi oluşturmak için önce pandaların modülünü içe aktaracağız, ardından pd.DataFrame() yönteminin içine bir sözlük ileteceğiz.

Görüldüğü gibi veri çerçevemiz, sayısal değerleri [23, 35, 64, 74, 85] ve [45, 34, 61, 89, 27] değerleri olan 'B' depolayan iki sütundan oluşur. Şimdi veri çerçevemizin her satırındaki her iki sütun arasında hangi değerin daha büyük olduğunu belirleyecek bir fonksiyon oluşturacağız.

Python lambda işlevi olan “pandalar”ı kullanabilirsiniz. Bir ifadeyi çalıştırmak için DataFrame.apply()”. Python'da bir lambda işlevi, herhangi bir sayıda bağımsız değişkeni kabul eden ve bir ifade yürüten kompakt bir anonim işlevdir. Yukarıdaki komut dosyasında, her iki sütunun değerini karşılaştıracak ve sonucu yeni 'karşılaştırma' sütununda saklayacak bir koşul ifadesi oluşturduk. 'A' sütununun değeri, 'B' sütununun değerinden küçükse, “B büyüktür” değerini döndürür. Koşul sağlanmazsa, “A büyüktür” değerini döndürür.

Örnek # 4:

Başka bir veri çerçevesi ile application() işlevi içindeki if-else ifadesini kullanarak başka bir örnek deneyelim.

Veri çerçevemizin bir şirketin çalışanlarının kayıtlarını sakladığını varsayalım. 'emp' sütunu, çalışanların adlarını [“Franky”, “Harry”, “Luke”, “Peter”, “Andrew”] depolarken, 'maaş' sütunu her çalışanın maaşını depolar [1350, 1000, 900 , 1200, 980] 'df' veri çerçevesinde. Şimdi Apply() yöntemini kullanarak if-else deyimimizi oluşturacağız.

Yukarıdaki koşul, 'maaş' sütunundaki her bir değeri kontrol edecek ve maaş değerinin 1000'e eşit veya daha az olduğu çalışanların maaşlarına 200 ekleyecektir. Apply() işlevinden döndürülen değerleri yeni sütununda sakladık ' artış'. Yukarıdaki komut dosyasının sonuçlarını görelim.

Gördüğünüz gibi fonksiyon, 100'den küçük veya eşit olan değerlere 200'ü başarıyla ekledi. 1000'den büyük değerler değişmeden kaldı.

Çözüm:

Bu öğreticide, koşul sağlandığında, case deyimi adı verilen bu tür bir deyimin bir değer döndürdüğünü gördük. Gerekli bir işlemi veya görevi gerçekleştirmek için nasıl vaka bildirimi oluşturabileceğinizi gördük. Bu öğreticide, vaka ifadeleri oluşturmak için np.where() işlevini ve application() işlevini kullandık. Pandaların case deyimlerini where() işlevini kullanarak nasıl kullanacağınızı ve case deyimleri oluşturmak için application() işlevini nasıl kullanacağınızı size öğretmek için birkaç örnek uyguladık.