Pandalar: bir dizeyle başlamayan satırlar nasıl seçilir?


Pandas DataFrame’de belirli bir dizeyle başlamayan satırları seçmek için aşağıdaki temel sözdizimini kullanabilirsiniz:

 df[~df. my_column . str . startswith ((' this ', ' that '))]

Bu özel formül, DataFrame’de my_column adlı sütunun this dizesiyle veya that dizesiyle başlamadığı tüm satırları seçer.

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: Pandas’ta dizeyle başlamayan satırları seçin

Çeşitli mağazalara ilişkin satış bilgilerini içeren aşağıdaki pandalar DataFrame’e sahip olduğumuzu varsayalım:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' store ': ['Upper East', 'Upper West', 'Lower East', 'West', 'CTR'],
                   ' sales ': [150, 224, 250, 198, 177]})

#view DataFrame
print (df)

        blind sales
0 Upper East 150
1 Upper West 224
2 Lower East 250
3 West 198
4 CTR 177     

DataFrame’de, mağaza sütunundaki “Üst” veya “Alt” dizelerle başlamayan tüm satırları seçmek için aşağıdaki sözdizimini kullanabiliriz:

 #select all rows where store does not start with 'Upper' or 'Lower'
df[~df. blind . str . startswith ((' Upper ',' Lower '))]

	blind sales
3 West 198
4 CTR 177

Döndürülen satırların yalnızca mağaza sütununun “Üst” veya “Alt” ile başlamadığı satırlar olduğunu unutmayın.

İsterseniz tuple dizesini startupswith() işlevinin dışında da tanımlayabilirsiniz:

 #define tuple of strings
some_strings = (' Upper ', ' Lower ')

#select all rows where store does not start with strings in tuple
df[~df. blind . str . startswith (some_strings)]

	blind sales
3 West 198
4 CTR 177

Bu önceki yöntemle aynı sonucu verir.

Not : Pandalardaki startwith fonksiyonunun tam belgelerini burada bulabilirsiniz.

Ek kaynaklar

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

Pandalar: Dize uzunluğuna göre satırlar nasıl filtrelenir
Pandalar: sütunun bir dize içerip içermediği nasıl kontrol edilir
Pandalar: GroupBy kullanılarak dizeler nasıl birleştirilir

Yorum ekle

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