Pandalar: “eğer sütundaki değer o zaman” formülü
Başka bir sütunun değerlerine dayalı olarak bir sütuna değer atamak için pandalarda aşağıdaki sözdizimini kullanabilirsiniz:
df[' new '] = df[' col ']. map ( lambda x: ' new1 ' if ' A ' in x else ' new2 ' if ' B ' in x else '')
Bu özel sözdizimi, aşağıdaki değerleri alacak olan “yeni” adında yeni bir sütun oluşturacaktır:
- sütundaki değer A’ya eşitse yeni1.
- yeni2 , sütundaki değer B’ye eşitse.
- Col’daki değer başka herhangi bir değere eşitse boş dize.
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: Pandas’ta “Sütundaki If Değeri O Zaman” için Formül Kullanma
Çeşitli basketbol oyuncuları hakkında bilgi içeren aşağıdaki pandalar DataFrame’e sahip olduğumuzu varsayalım:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'C', 'C'], ' points ': [14, 22, 25, 34, 30, 12, 10, 18]}) #view DataFrame print (df) team points 0 to 14 1 to 22 2 to 25 3 to 34 4 B 30 5 B 12 6 C 10 7 C 18
Şimdi, değerleri takım sütunundaki karşılık gelen değere bağlı olan, şehir adında yeni bir sütun oluşturmak istediğimizi varsayalım.
Bunu yapmak için aşağıdaki sözdizimini kullanabiliriz:
#create new column called city whose values depend on values in team column
df[' city '] = df[' team ']. map ( lambda x: ' Atlanta ' if ' A ' in x else ' Boston ' if ' B ' in x else '')
#view updated DataFrame
print (df)
team points city
0 A 14 Atlanta
1 to 22 Atlanta
2 to 25 Atlanta
3 to 34 Atlanta
4 B 30 Boston
5 B 12 Boston
6 C 10
7 C 18
Bu özel sözdizimi, aşağıdaki değerleri alan şehir adında yeni bir sütun oluşturdu:
- Takım değeri A’ya eşitse Atlanta .
- Takım değeri B’ye eşitse Boston .
- Takımdaki değer başka herhangi bir değere eşitse boş dize.
Bu örnekte, herhangi bir koşulu karşılamayan değerleri boş bırakmak için son else ifadesinden sonra boş bir dize kullandığımızı unutmayın.
Ek kaynaklar
Aşağıdaki eğitimlerde pandalarda diğer yaygın işlemlerin nasıl gerçekleştirileceği açıklanmaktadır:
Pandalar: sütunu değerle eşleşen satırların dizinini alın
Pandalar: belirli bir dize içeren sütunların nasıl seçileceği
Pandalar: sütunun bir dize içerip içermediği nasıl kontrol edilir