Dataframe'den sadece değerleri almak

Selamlar,

Elimizde büyükce bir df olduğunu varsayalım. İçinden belirli koşullarla filtreleme yapıp koşulu sağlayanlardan yeni bir liste yapmak istiyorum.

liste=[]
al=df.loc[df['cinsiyet']=='ERKEK'].loc[df['boy']>127.8].sort_values(by='isim', ascending=True)
alinan=al.iloc[0:3,0]
liste.append(alinan)

print(liste)

Cinsiyeti ERKEK olanlardan ve boyu 127.8 cm den büyük olanları isim e göre sıralattım ve isim sütunundan ilk 3 elemanın listesini istiyorum.

Yukarıdaki kodlar çalışınca

[347    AHMET
434    HASAN
392     MEHMET
Name: isim, dtype: object]

şeklinde bir sonuç geliyor. Buraya kadar herşey doğru ancak ben gelen sonucun

["AHMET", "HASAN", "MEHMET"]

formatında olmasını istiyorum. Bunun için ne yapmalıyım?

.to_list() metoduna sahip olması lazım, deneyip yazar mısınız?

1 Beğeni

İsimlerin bulunduğu sütun isminin “AD” olduğunu düşünürsek;

listem = al.AD.head(3).tolist()

Bu Medotu kullanarak, kod öncesinde liste = [] şeklinde bir liste tanımlamaya da gerek kalmıyor.

Alternatif yöntem;
for döngüsü kullansak olmaz mı? :slight_smile:

liste = []
for i in range(3):
    liste.append(al.iloc[i,0])
print(liste)

Yok hocam hiç döngüye möngüye girmeyelim tek kod en temizi :slight_smile:
Teşekkür ederim

DataFrame sınıfının iat adlı niteliğine bak.

df.iat[satır_indeksi,sütun_indeksi]

Burada istediğin değerin satır ve sütun indeksini giriyorsun.

Ya da bekle, yakında youtube sayfası açıyorum, tüm numpy ve pandasın dökümantasyonunda ne varsa parametrelerine kadar öğreneceksiniz.

Ve daha bir sürü şey…

1 Beğeni