Pandalar: sütunu değerle eşleşen satırların dizinini alın


Sütunu belirli değerlerle eşleşen pandas DataFrame’deki satırların dizinini almak için aşağıdaki sözdizimini kullanabilirsiniz:

 df. index [df[' column_name ']== value ]. tolist ()

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', 'B', 'B', 'C', 'C', 'D'],
                   ' points ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
df

team points rebounds
0 to 5 11
1 to 7 8
2 to 7 10
3 B 9 6
4 B 12 6
5 C 9 5
6 C 9 9
7 D 4 12

Örnek 1: Sütunu değerle eşleşen satırların dizinini alın

Aşağıdaki kod, sütunu belirli bir değere eşit olan satırların dizininin nasıl alınacağını gösterir:

 #get index of rows where 'points' column is equal to 7
df. index [df[' points ']== 7 ]. tolist ()

[1, 2]

Bu bize indeks değeri 1 ve 2 olan satırların puan sütununda “7” değerine sahip olduğunu anlatır.

Bir sütunun belirli bir değerden küçük veya büyük olduğu satırların dizinini bulmak için küçüktür ve büyüktür operatörlerini de kullanabileceğimizi unutmayın:

 #get index of rows where 'points' column is greater than 7
df. index [df[' points '] > 7 ]. tolist ()

[3, 4, 5, 6]

Bu bize indeks değeri 3 , 4 , 5 ve 6 olan satırların puan sütununda “7”den büyük bir değere sahip olduğunu anlatır.

Örnek 2: Sütunu dizeyle eşleşen satırların dizinini alın

Aşağıdaki kod, bir sütunun belirli bir dizeye eşit olduğu satırların dizininin nasıl alınacağını gösterir:

 #get index of rows where 'team' column is equal to 'B'
df. index [df[' team ']==' B ']. tolist ()

[3, 4]

Bu bize indeks değeri 3 ve 4 olan satırların takım sütununda “B” değerine sahip olduğunu anlatır.

Örnek 3: Birden fazla koşula sahip satır dizinini alma

Aşağıdaki kod, birden çok sütunun değerlerinin belirli koşullarla eşleştiği satırların dizininin nasıl alınacağını gösterir:

 #get index of rows where 'points' is equal to 7 or 12
df. index [(df[' points ']== 7 ) | (df[' points ']== 12 )]. tolist ()

[1, 2, 4]

#get index of rows where 'points' is equal to 9 and 'team' is equal to 'B'
df. index [(df[' points ']== 9 ) & (df[' team ']==' B ')]. tolist ()

[3]

Ek kaynaklar

Pandas DataFrame’den hücre değeri nasıl alınır
Pandas DataFrame’de dizin nasıl yeniden adlandırılır
Pandalar’da sütunlar ada göre nasıl sıralanır

Yorum ekle

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