Sütun Değerlerine Göre Pandas DataFrame'deki Satırları Filtreleme

Temp mail SuperHeros
Sütun Değerlerine Göre Pandas DataFrame'deki Satırları Filtreleme
Sütun Değerlerine Göre Pandas DataFrame'deki Satırları Filtreleme

Pandas DataFrame'lerdeki Satırları Filtreleme

Pandas, Python'da veri işleme ve analiz için güçlü bir kütüphanedir. Yaygın bir görev, SQL'in SELECT * FROM tablosu WHERE sütun_adı = bazı_değerlere benzer şekilde sütun değerlerine dayalı olarak bir DataFrame'den satır seçmektir.

Bu kılavuz, Pandas'ta bunu başarmak için çeşitli yöntemler konusunda size yol gösterecek ve verilerinizi verimli bir şekilde filtrelemenizi kolaylaştıracaktır. İster yeni başlayan ister deneyimli bir kullanıcı olun, bu ipuçları veri işleme becerilerinizi geliştirecektir.

Emretmek Tanım
pd.DataFrame(data) Veri sözlüğünden bir DataFrame oluşturur.
df[column_name] DataFrame'deki bir sütuna ada göre erişir.
df[condition] Bir sütuna uygulanan koşula göre DataFrame'i filtreler.
print(selected_rows) DataFrame'i veya onun bir alt kümesini konsola yazdırır.
df[df['Age'] >df[df['Age'] > 25] 'Yaş' sütunu değerlerinin 25'ten büyük olduğu satırları seçer.
df[df['City'] == 'Chicago'] 'Şehir' sütunu değerlerinin 'Chicago'ya eşit olduğu satırları seçer.

Pandalarda DataFrame Satır Seçimini Anlamak

Sağlanan komut dosyaları, Python'daki Pandas kitaplığını kullanarak sütun değerlerine dayalı olarak bir DataFrame'den satırların nasıl seçileceğini gösterir. İlk komut dosyası, Pandas kütüphanesini şu şekilde içe aktararak başlar: import pandas as pd emretmek. Daha sonra bir veri sözlüğü kullanarak örnek bir DataFrame oluşturur ve bu, bir DataFrame'e dönüştürülür. pd.DataFrame(data) emretmek. Komut dosyası daha sonra satır seçimi için iki yöntemi gösterir: 'Yaş' sütun değerinin 25'ten büyük olduğu satırların seçilmesi df[df['Age'] > 25]ve 'Şehir' sütun değerinin 'Chicago' olduğu satırları seçmek için df[df['City'] == 'Chicago']. Bu filtrelenmiş DataFrame'ler kullanılarak yazdırılır. print() Seçilen satırları görüntüleme işlevi.

İkinci komut dosyası da benzer bir yapı izler ancak farklı veriler ve seçim kriterleri kullanır. 'Ürün', 'Fiyat' ve 'Stok' sütunları dahil olmak üzere ürün bilgilerini içeren bir DataFrame oluşturur. 'Fiyat'ın 200'den küçük veya ona eşit olduğu satırlar seçilir. df[df['Price'] <= 200]ve 'Stok'un 40'tan fazla olduğu durumlarda df[df['Stock'] > 40]. Bu komut dosyalarının amacı, bir sütun değerine göre bir tablodan satır seçmek için SQL sorgusunu nasıl kullanacağınıza benzer şekilde, DataFrame satırlarının belirli koşullara göre nasıl filtreleneceğini göstermektir. Bu komutları anlayıp uygulayarak DataFrame'lerinizdeki verileri verimli bir şekilde işleyebilir ve analiz edebilirsiniz.

Pandalarda Sütun Değerlerini Kullanarak DataFrame'deki Satırları Seçme

Pandalar Kütüphanesi ile Python

# Importing the necessary library
import pandas as pd

# Creating a sample DataFrame
data = {
    'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],
    'Age': [24, 27, 22, 32, 29],
    'City': ['New York', 'Los Angeles', 'Chicago', 'Houston', 'Phoenix']
}
df = pd.DataFrame(data)

# Selecting rows where Age is greater than 25
selected_rows = df[df['Age'] > 25]
print(selected_rows)

# Selecting rows where City is 'Chicago'
chicago_rows = df[df['City'] == 'Chicago']
print(chicago_rows)

Sütun Kriterlerine Göre DataFrame'deki Verileri Filtreleme

Pandalar Kütüphanesi ile Python

# Importing pandas library
import pandas as pd

# Creating a sample DataFrame
data = {'Product': ['A', 'B', 'C', 'D', 'E'],
        'Price': [100, 150, 200, 250, 300],
        'Stock': [30, 60, 90, 20, 50]}
df = pd.DataFrame(data)

# Selecting rows where Price is less than or equal to 200
affordable_products = df[df['Price'] <= 200]
print(affordable_products)

# Selecting rows where Stock is more than 40
in_stock = df[df['Stock'] > 40]
print(in_stock)

Pandalarda DataFrame Satırlarını Seçmek İçin Gelişmiş Teknikler

Boole indekslemeyi kullanan temel filtrelemenin yanı sıra Pandas, sütun değerlerine göre satır seçmek için gelişmiş teknikler sunar. Güçlü bir yöntem, query() Satırları bir sorgu ifadesiyle filtrelemenize olanak tanıyan, sözdizimini daha temiz ve çoğu zaman daha sezgisel hale getiren işlev. Örneğin, kullanmak yerine df[df['Age'] > 25], Yazabilirsin df.query('Age > 25'). Bu yöntem özellikle daha karmaşık koşullarla uğraşırken veya sütun adları boşluk içerdiğinde kullanışlıdır. Ek olarak, isin() Değerler listesine göre satırları filtrelemek istediğinizde bu işlev faydalıdır. Örneğin, 'Şehir' sütun değerinin 'Chicago' veya 'New York' olduğu satırları seçmek için şunu kullanabilirsiniz: df[df['City'].isin(['Chicago', 'New York'])].

Başka bir teknik şunları içerir: loc Ve iloc indeksleyiciler. loc Dizin oluşturucu etiket tabanlıdır ve satır etiketlerine ve sütun adlarına göre satır seçmenize olanak tanır. iloc tamsayı konum tabanlıdır ve satır ve sütun numaralarına göre seçim yapılmasına olanak tanır. Bu esneklik, özellikle farklı bir sütuna uygulanan koşula göre satırların seçilmesinde kullanışlıdır. Örneğin, df.loc[df['Age'] > 25, 'Name'] 25 yaşından büyük bireylerin adlarını döndürecektir. Bu yöntemler, Pandas'taki verileri verimli bir şekilde işlemek ve analiz etmek için araç setinizi genişleterek daha okunabilir ve bakımı kolay kodlar sunar.

DataFrame Satırlarının Seçilmesiyle İlgili Sık Sorulan Sorular ve Cevaplar

  1. Birden çok koşula göre satırları nasıl seçebilirim?
  2. Şunu kullanabilirsiniz: query() gibi mantıksal operatörlerle koşulları işlevlendirin veya birleştirin & Ve |. Örneğin, df[(df['Age'] > 25) & (df['City'] == 'Chicago')].
  3. Değerler listesine göre satırları filtreleyebilir miyim?
  4. Evet, kullan isin() işlev. Örneğin, df[df['City'].isin(['Chicago', 'New York'])].
  5. Arasındaki fark nedir loc Ve iloc?
  6. loc etiket tabanlıdır, ancak iloc tamsayı konum tabanlıdır. Kullanmak loc satır/sütun etiketleriyle ve iloc satır/sütun endeksleri ile.
  7. Satırları filtrelerken belirli sütunları nasıl seçebilirim?
  8. Kullanabilirsiniz loc. Örneğin, df.loc[df['Age'] > 25, ['Name', 'City']].
  9. Satırları seçerken eksik değerleri nasıl hallederim?
  10. Kullan dropna() eksik değerleri olan satırları kaldırma işlevi veya fillna() bunları belirli bir değerle değiştirmek için.
  11. Satırları filtrelemek için normal ifadeleri kullanabilir miyim?
  12. Evet str.contains() ile işlev görür regex=True parametresi, normal ifade kalıplarına göre satırları filtrelemenize olanak tanır. Örneğin, df[df['Name'].str.contains('^A', regex=True)].
  13. Dizine göre satırları nasıl filtrelerim?
  14. Kullanabilirsiniz loc dizin adı ile. Örneğin, df.loc[df.index == 'some_index'].
  15. Sütun adlarımda boşluk veya özel karakterler varsa ne olur?
  16. Kullan query() Bu tür sütun adlarını geri tıklamalarla işleyebilen işlev. Örneğin, df.query('`column name` == value').

DataFrame Satır Seçim Teknikleri Hakkında Son Düşünceler

Pandas'taki sütun değerlerine dayalı olarak bir DataFrame'den satır seçmek, veri işleme için çok önemli bir beceridir. Boolean indeksleme de dahil olmak üzere tartışılan çeşitli yöntemler, query(), isin()ve etiket tabanlı ve tamsayı konum tabanlı dizin oluşturma loc Ve iloc, verileri verimli bir şekilde filtrelemek için güçlü araçlar sağlar. Bu tekniklere hakim olmak, daha iyi veri analizine ve daha temiz, daha sürdürülebilir koda olanak tanır.