Pandas'ta veri çerçevesindeki satır numarası nasıl alınır?

Pandas kullanarak belirli bir sütunda belirli bir değeri içeren bir veri çerçevesindeki satır sayısını nasıl alabilirim? Örneğin, aşağıdaki veri çerçevesine sahibim:

     ClientID  LastName
0    34        Johnson
1    67        Smith
2    53        Brows  

Soyadı' sütununda 'Smith' olan satırın numarasını nasıl bulabilirim?

Çözüm

Smith&#39 ile eşleşen tüm indeksleri almak için;

>>> df.loc[df['LastName']=='Smith'].index
Int64Index([1], dtype='int64')

veya

>>> df.loc[df['LastName']=='Smith'].index.values
array([1])

veya sadece bir tane varsa ve tamsayı istiyorsanız, sadece alt küme

>>> df.loc[df['LastName']=='Smith'].index[0]
1
Yorumlar (0)
df.index[df.LastName == 'Smith']

Ya da

df.query('LastName == "Smith"').index

LastNameinSmith` olduğu tüm satır indislerini döndürür

Int64Index([1], dtype='int64')
Yorumlar (2)
df.loc[df.LastName == 'Smith']

satırı döndürecektir

    ClientID    LastName
1   67          Smith

ve

df.loc[df.LastName == 'Smith'].index

indeksi döndürecektir

Int64Index([1], dtype='int64')

NOT: Sütun adları 'LastName' ve 'Last Name' veya hatta 'lastname' üç benzersiz addır. En iyi uygulama, önce df.columns kullanarak tam adı kontrol etmek olacaktır. Sütun adlarını gerçekten tüm beyaz boşluklardan arındırmanız gerekiyorsa, önce şunu yapabilirsiniz

df.columns = [x.strip().replace(' ', '') for x in df.columns]
Yorumlar (4)