Bir sütun üzerinde IQR tarafından filtreleme yapmak için yerleşik bir yol var mı (yani, Q1-1.5IQR ve Q3 + 1.5IQR arasındaki değerler)? da, önerilen pandaların diğer olası genelleştirilmiş filtrelerini takdir edeceklerdir.Panda filtresi IQR ile nasıl kullanılır?
8
A
cevap
13
Bildiğim kadarıyla, en küçük gösterim, query
yöntemiyle getiriliyor gibi görünüyor.
# Some test data
np.random.seed(33454)
df = (
# A standard distribution
pd.DataFrame({'nb': np.random.randint(0, 100, 20)})
# Adding some outliers
.append(pd.DataFrame({'nb': np.random.randint(100, 200, 2)}))
# Reseting the index
.reset_index(drop=True)
)
# Computing IQR
Q1 = df['nb'].quantile(0.25)
Q3 = df['nb'].quantile(0.75)
IQR = Q3 - Q1
# Filtering Values between Q1-1.5IQR and Q3+1.5IQR
filtered = df.query('(@Q1 - 1.5 * @IQR) <= nb <= (@Q3 + 1.5 * @IQR)')
Ardından sonucu kontrol etmek için sonucu çizebiliriz. Soldaki kutuda (183'teki haç) aykırı durumun filtrelenmiş serilerde artık görünmediğini görüyoruz. Bu konuyla ilgili bir post yazdım bu cevabı yana
# Ploting the result to check the difference df.join(filtered, rsuffix='_filtered').boxplot()
Eğer daha fazla bilgi bulabilirsiniz idi.
1
Bu, sütun column
arasında DBA yatıyor df
altkümesini verir:
def get_subset_by_IQR(df,column):
q1 = df[column].quantile(0.25)
q3 = df[column].quantile(0.75)
iqr = (df[column] > q1) & (df[column] < q3)
return df.loc[iqr]
2
Series.between kullanan diğer bir yaklaşımı():
iqr = df['col'][df['col'].between(df['col'].quantile(.25), df['col'].quantile(.75), inclusive=True)]
üzerinden çekilmiş:
q1 = df['col'].quantile(.25)
q2 = df['col'].quantile(.75)
mask = d['col'].between(q1, q2, inclusive=True)
iqr = d.loc[mask, 'col']
İlgili konular
- 1. panda
- 2. Panda
- 3. panda
- 4. KnockoutJS ile arama filtresi
- 5. Django filtresi regex ile
- 6. Özel bir şablon etiketinde şablon filtresi nasıl kullanılır?
- 7. panda ile OLS: yordayıcı olarak datetime endeksi
- 8. ng seçeneklerinde öğeler etiketinde bir angularJs filtresi nasıl kullanılır?
- 9. Düz eşik filtresi oluşturmak için CoreImage nasıl kullanılır?
- 10. Matlab filtresi() SciPy lfilter() ile
- 11. Panda gruplarını değiştirin
- 12. Eylem filtresi yürütme siparişi
- 13. kogrid filtresi çalışmıyor - plunker ile
- 14. Bir panda dizisinin
- 15. LowPass Filtresi nasıl uygulanır?
- 16. Nasıl panda DataFrame bir TimeSeries dönüştürmek için?
- 17. Dizi filtresi
- 18. Python ile Corba nasıl kullanılır
- 19. IronPython ile IPython nasıl kullanılır
- 20. PhantomJS ile ES6 nasıl kullanılır?
- 21. Js_of_ocaml ile modüller nasıl kullanılır?
- 22. QUESTION_WITH_CANCEL ile MessageDialog.open() nasıl kullanılır?
- 23. Import.io ile substring() nasıl kullanılır?
- 24. GridSpec() `` subplots() `ile nasıl kullanılır?
- 25. Sinatra ile coffeescript nasıl kullanılır?
- 26. imageMagick C# ile nasıl kullanılır?
- 27. Gevents Falcon ile nasıl kullanılır?
- 28. cordova ile genymotion nasıl kullanılır?
- 29. QPainter ile maske nasıl kullanılır?
- 30. Java ile FFMPEG nasıl kullanılır?