Pandalar: birden çok koşula dayalı satırları silin


Bir pandas DataFrame’deki birden çok koşula dayalı olarak satırları silmek için aşağıdaki yöntemleri kullanabilirsiniz:

Yöntem 1: Çeşitli koşullardan birini karşılayan satırları silin

 df = df. loc [ ~ ((df[' col1 '] == ' A ') | (df[' col2 '] > 6 ))]

Bu özel örnek, col1 değerinin A’ya eşit olduğu veya col2 değerinin 6’dan büyük olduğu tüm satırları silecektir.

Yöntem 2: Birden çok koşulu karşılayan satırları kaldırın

 df = df. loc [ ~ ((df[' col1 '] == ' A ') & (df[' col2 '] > 6 ))] 

Bu özel örnek, col1 değerinin A’ya eşit olduğu ve col2 değerinin 6’dan büyük olduğu tüm satırları silecektir.

Aşağıdaki örnekler, her yöntemin 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'],
                   ' pos ': ['G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'],
                   ' assists ': [5, 7, 7, 9, 12, 9, 3, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
df

	team pos assists rebounds
0 A G 5 11
1 A G 7 8
2 A F 7 10
3 A F 9 6
4 B G 12 6
5 B G 9 5
6 B F 3 9
7 B F 4 12

Örnek 1: Çeşitli koşullardan birini karşılayan satırları silin

Aşağıdaki kod, Takım sütunundaki değerin A’ya eşit olduğu veya Katılımlar sütunundaki değerin 6’dan büyük olduğu DataFrame’deki satırların nasıl silineceğini gösterir:

 #drop rows where value in team column == 'A' or value in assists column > 6
df = df. loc [ ~ ((df[' team '] == ' A ') | (df[' assists '] > 6 ))]

#view updated DataFrame
print (df)

  team pos assists rebounds
6 BF 3 9
7 BF 4 12

Takım sütununun A’ya eşit olduğu veya asist sütununun 6’dan büyük olduğu tüm satırların kaldırıldığını unutmayın.

Bu özel DataFrame için altı satır silindi.

Not : | sembol pandalarda “VEYA” mantığını temsil eder.

Örnek 2: Birden çok koşulu karşılayan satırları kaldırın

Aşağıdaki kod, Takım sütunundaki değerin A’ya eşit olduğu ve Katılımlar sütunundaki değerin 6’dan büyük olduğu DataFrame’deki satırların nasıl silineceğini gösterir:

 #drop rows where value in team column == 'A' and value in assists column > 6
df = df. loc [ ~ ((df[' team '] == ' A ') & (df[' assists '] > 6 ))]

#view updated DataFrame
print (df)

  team pos assists rebounds
0 AG 5 11
4 BG 12 6
5 BG 9 5
6 BF 3 9
7 BF 4 12

Takımlar sütununun A’ya eşit olduğu ve asist sütununun 6’dan büyük olduğu tüm satırların kaldırıldığını unutmayın.

Bu özel DataFrame için satırlardan üçü silindi.

Not : & sembolü pandalarda “VE” mantığını temsil eder.

Ek kaynaklar

Aşağıdaki eğitimlerde pandalarda diğer yaygın işlemlerin nasıl gerçekleştirileceği açıklanmaktadır:

Pandalarda belirli bir değer içeren satırlar nasıl silinir
Pandalar’da belirli bir dize içeren satırlar nasıl silinir
Pandalarda dizine göre satırlar nasıl silinir

Yorum ekle

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