Pandalar: başka bir sütuna dayalı olarak sütun değerini çıkarın


Başka bir sütundaki değere dayalı olarak bir sütundaki değeri çıkarmak için pandalarda query() işlevini kullanabilirsiniz.

Bu işlev aşağıdaki temel sözdizimini kullanır:

 df. query (" team=='A' ")[" points "]

Bu özel örnek, her değeri takım sütununun A’ya eşit olduğu puan sütunundan çıkaracaktır.

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', 'A', 'A', 'A', 'B', 'B', 'B', 'B'],
                   ' position ': ['G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'],
                   ' points ': [11, 28, 10, 26, 6, 25, 29, 12]})

#view DataFrame
print (df)

  team position points
0 AG 11
1 AG 28
2 AF10
3AF 26
4 BG 6
5 BG 25
6 BF 29
7 BF 12

Örnek 1: Karşılanan bir koşula göre sütun değerlerini çıkarma

Aşağıdaki kod, takım sütunu değerinin “A”ya eşit olduğu noktalar sütunundan her bir değerin nasıl çıkarılacağını gösterir:

 #extract each value in points column where team is equal to 'A'
df. query (" team=='A' ")[" points "]

0 11
1 28
2 10
3 26
Name: points, dtype: int64

Bu işlev, takım sütunundaki karşılık gelen değerin “A”ya eşit olduğu puan sütunundaki dört değeri döndürür.

Örnek 2: Karşılanan birçok koşuldan birine göre sütun değerlerini çıkarın

Aşağıdaki kod, takım sütunu değerinin “A”ya eşit olduğu veya konum sütunu değerinin “G”ye eşit olduğu noktalar sütunundan her bir değerin nasıl çıkarılacağını gösterir:

 #extract each value in points column where team is 'A' or position is 'G'
df. query (" team=='A' | position=='G' ")[" points "]

0 11
1 28
2 10
3 26
4 6
5 25
Name: points, dtype: int64

Bu işlev, takım sütunundaki karşılık gelen değerin “A”ya eşit olduğu veya konum sütunundaki değerin “G”ye eşit olduğu puan sütunundaki altı değeri döndürür.

Örnek 3: Karşılanan birden fazla koşula göre sütun değerlerini çıkarın

Aşağıdaki kod, takım sütunu değerinin “A”ya ve konum sütunu değerinin “G”ye eşit olduğu noktalar sütunundan her bir değerin nasıl çıkarılacağını gösterir:

 #extract each value in points column where team is 'A' and position is 'G'
df. query (" team=='A' & position=='G' ")[" points "]

0 11
1 28
Name: points, dtype: int64

Bu işlev, takım sütunundaki karşılık gelen değerin “A” ya ve konum sütunundaki değerin “G”ye eşit olduğu puan sütunundaki iki değeri döndürür.

Ek kaynaklar

Aşağıdaki eğitimlerde pandalarda diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

Pandalar: koşula göre sütunların nasıl seçileceği
Pandalar: birden çok koşula dayalı satırları silin
Pandalar: sütun değerlerini başka bir DataFrame’e göre güncelleyin

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir