Pandalar: apply ve lambda'yı birlikte kullanma
Bir pandanın DataFrame’ine lambda işlevi uygulamak için aşağıdaki temel sözdizimini kullanabilirsiniz:
df[' col '] = df[' col ']. apply ( lambda x: ' value1 ' if x < 20 else ' value2 ')
Aşağıdaki örnekler, bu sözdiziminin pratikte aşağıdaki pandalar DataFrame ile nasıl kullanılacağını gösterir:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': [18, 22, 19, 14, 14, 11, 20, 28], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4]}) #view DataFrame print (df) team points assists 0 to 18 5 1 B 22 7 2 C 19 7 3 D 14 9 4 E 14 12 5 F 11 9 6 G 20 9 7:28 a.m. 4
Örnek 1: Yeni bir sütun oluşturmak için Uygula ve Lambda’yı kullanın
Aşağıdaki kod, değerleri mevcut bir sütunun değerlerine bağlı olan yeni bir sütun oluşturmak için application ve lambda’nın nasıl kullanılacağını gösterir:
#create new column called 'status'
df[' status '] = df[' points ']. apply ( lambda x: ' Bad ' if x < 20 else ' Good ')
#view updated DataFrame
print (df)
team points assists status
0 A 18 5 Bad
1 B 22 7 Good
2 C 19 7 Bad
3 D 14 9 Bad
4 E 14 12 Bad
5 F 11 9 Bad
6 G 20 9 Good
7:28 4 Good
Bu örnekte, aşağıdaki değerleri alan durum adında yeni bir sütun oluşturduk:
- Puan sütunundaki değer 20’den küçükse ‘ Kötü ‘.
- Puan sütunundaki değer 20’den büyük veya ona eşitse ‘ İyi ‘.
Örnek 2: Mevcut bir sütunu değiştirmek için Uygula ve Lambda’yı kullanın
Aşağıdaki kod, DataFrame’de mevcut bir sütunu değiştirmek için application ve lambda’nın nasıl kullanılacağını gösterir:
#modify existing 'points' column
df[' points '] = df[' points ']. apply ( lambda x: x/2 if x < 20 else x*2)
#view updated DataFrame
print (df)
team points assists
0 to 9.0 5
1 B 44.0 7
2 C 9.5 7
3D 7.0 9
4 E 7.0 12
5 F 5.5 9
6 G 40.0 9
7 A.M. 56.0 4
Bu örnekte, lambda fonksiyonunda aşağıdaki kuralı kullanarak mevcut nokta sütununun değerlerini değiştiriyoruz:
- Değer 20’den küçükse değeri 2’ye bölün.
- Değer 20’den büyük veya ona eşitse değeri 2 ile çarpın.
Bu lambda fonksiyonunu kullanarak mevcut nokta sütununun değerlerini değiştirebildik.
Ek kaynaklar
Aşağıdaki eğitimlerde pandalarda diğer ortak işlevlerin nasıl gerçekleştirileceği açıklanmaktadır:
Pandas Groupby’ye bir işlev nasıl uygulanır?
NaN, Pandas’ta başka bir sütundaki değerlerle nasıl doldurulur?