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ı? 
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 
Teşekkür ederim
Shanyu
5
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