Garfield
YZF Admin
pandas içinde veri kümesinden rastgele satır almak için
Ön koşul olarak pandas yüklü olmalı ve örnek alınacak veri
Çıktıda veri kümesindeki satırlardan ikisi, genellikle farklı bir sırayla görünür.
İhtiyacınıza göre
Bu kod, veri kümesinin yaklaşık yüzde 10'unu seçer. Küçük veri kümelerinde sonuç, beklediğiniz orana en yakın tam sayı satır sayısına yuvarlanarak oluşur.
Varsayılan olarak
Tekrarlı seçim gerekiyorsa
Bu örnekte veri kümesinde beş satır olmasına rağmen on seçim yapılabilir. Aynı satırın birden fazla kez görünmesi beklenen bir sonuçtur; bu yöntem benzersiz kayıt listesi oluşturmaz.
Buradaki sonuç bir
Örnek alma işleminden sonra satır sayısını ve sütunları kontrol etmek için şu ifadeleri kullanabilirsiniz:
Rastgele örnek, veri kümesinin yalnızca seçilmiş bir bölümünü gösterir; bütün veri kümesini temsil ettiği garanti edilmez. Özellikle küçük veri kümelerinde seçimin dağılımı ana veri kümesinden belirgin biçimde farklı olabilir. Analizinizi yeniden üretmeniz veya iki çalıştırmayı karşılaştırmanız gerekiyorsa
DataFrame.sample() kullanılır. Kaç satır istediğinizi n ile, veri kümesine göre oran belirtmek istiyorsanız frac ile verirsiniz. Örneğin df.sample(n=3, random_state=42) ifadesi üç satırlık bir örnek döndürür; aynı random_state değeri kullanıldığında sonuç yeniden üretilebilir.Temel kullanım
Ön koşul olarak pandas yüklü olmalı ve örnek alınacak veri
DataFrame biçiminde bulunmalıdır. Aşağıdaki varsayımsal örnekte beş satırlık bir veri kümesinden iki satır seçilir.
Python:
import pandas as pd
df = pd.DataFrame({
"urun": ["Kalem", "Defter", "Silgi", "Çanta", "Cetvel"],
"fiyat": [10, 35, 8, 250, 15]
})
ornek = df.sample(n=2, random_state=42)
print(ornek)
Çıktıda veri kümesindeki satırlardan ikisi, genellikle farklı bir sırayla görünür.
random_state=42 burada özel bir anlam taşımaz; yalnızca aynı kodu tekrar çalıştırdığınızda aynı rastgele seçimin elde edilmesini sağlar. Bu değer kaldırılırsa her çalıştırmada farklı satırlar seçilebilir.Satır sayısına veya orana göre örnek alma
İhtiyacınıza göre
n ve frac seçeneklerinden birini kullanın. n kesin satır sayısını, frac ise veri kümesinin hangi oranının alınacağını belirtir.| Kullanım | Örnek | Anlamı |
|---|---|---|
| Kesin satır sayısı | df.sample(n=5) | Beş satır seçer. |
| Oranla örnek alma | df.sample(frac=0.2) | Veri kümesinin yaklaşık yüzde 20'sini seçer. |
| Tekrarlı seçim | df.sample(n=10, replace=True) | Aynı satırın birden fazla kez seçilmesine izin verir. |
| Tekrarlanabilir sonuç | df.sample(n=5, random_state=42) | Aynı başlangıç değeriyle aynı seçimi üretir. |
frac=0.2 tam olarak her zaman beşte bir oranında tam sayı satır anlamına gelmez; pandas uygun örnek boyutunu hesaplar. Sonuçta kaç satır seçildiğini len(ornek) ile kontrol edebilirsiniz.Veri kümesinin yüzde 10'unu alma
Python:
ornek = df.sample(frac=0.10, random_state=42)
print(len(ornek))
Bu kod, veri kümesinin yaklaşık yüzde 10'unu seçer. Küçük veri kümelerinde sonuç, beklediğiniz orana en yakın tam sayı satır sayısına yuvarlanarak oluşur.
Tekrarlı veya tekrarsız örnekleme
Varsayılan olarak
replace=False kabul edilir. Bu durumda bir satır aynı örnek içinde yalnızca bir kez bulunabilir. Örnek boyutu veri kümesindeki satır sayısından büyükse hata alırsınız.
Python:
ornek = df.sample(n=3, replace=False, random_state=42)
Tekrarlı seçim gerekiyorsa
replace=True kullanın:
Python:
ornek = df.sample(n=10, replace=True, random_state=42)
print(ornek)
Bu örnekte veri kümesinde beş satır olmasına rağmen on seçim yapılabilir. Aynı satırın birden fazla kez görünmesi beklenen bir sonuçtur; bu yöntem benzersiz kayıt listesi oluşturmaz.
Belirli bir sütuna göre değil, satır olarak örnek alma
DataFrame.sample() doğrudan satırları seçer ve seçilen satırların bütün sütunlarını korur. Yalnızca bir sütunun değerlerinden örnek almak istiyorsanız önce sütunu seçip yine sample() çağırabilirsiniz:
Python:
fiyat_ornegi = df["fiyat"].sample(n=2, random_state=42)
print(fiyat_ornegi)
Buradaki sonuç bir
Series olur. Satırlarla birlikte sütun yapısını korumak istiyorsanız df.sample(...)[["urun", "fiyat"]] biçiminde bir DataFrame üzerinde çalışın.Sonucu kontrol etme ve yaygın hatalar
Örnek alma işleminden sonra satır sayısını ve sütunları kontrol etmek için şu ifadeleri kullanabilirsiniz:
Python:
print(ornek.shape)
print(ornek.columns.tolist())
shape değerinin ilk elemanı seçilen satır sayısını, ikinci elemanı sütun sayısını gösterir. n değeri veri kümesindeki satır sayısından büyük olduğu hâlde replace=True kullanılmamışsa örnekleme tamamlanmaz. Bu durumda ya n değerini küçültün ya da aynı satırların tekrar seçilmesi sizin analiziniz için uygunsa replace=True ekleyin.Rastgele örnek, veri kümesinin yalnızca seçilmiş bir bölümünü gösterir; bütün veri kümesini temsil ettiği garanti edilmez. Özellikle küçük veri kümelerinde seçimin dağılımı ana veri kümesinden belirgin biçimde farklı olabilir. Analizinizi yeniden üretmeniz veya iki çalıştırmayı karşılaştırmanız gerekiyorsa
random_state belirtin; her çalıştırmada farklı örnek görmek istiyorsanız bu parametreyi kullanmayın.