Uygulamamın bazen nans içeren dizi örneklerini karşılaştırması gerekiyor. Önemli olan, şu: nan != nan
. Bu Serisi karşılaştırmak için uygun yol nedir?Karşılaştırma pandas.N eşitlendiğinde niçin?
cevap
Buna ne dersiniz? İlk (isnull kullanarak) NaN'ler aynı yerde olup olmadığını kontrol edin:
In [13]: s1[s1.notnull()]
Out[13]:
0 1
dtype: float64
In [14]: s1[s1.notnull()] == s2[s2.notnull()]
Out[14]:
0 True
dtype: bool
eşit olmamız bulunmak için:
In [11]: s1.isnull()
Out[11]:
0 False
1 True
dtype: bool
In [12]: s1.isnull() == s2.isnull()
Out[12]:
0 True
1 True
dtype: bool
Ardından eşit (notnull kullanarak) vardır NaN olmayan değerleri kontrol Her iki true gerekir: bu yeterli değildi
In [15]: (s1.isnull() == s2.isnull()).all() and (s1[s1.notnull()] == s2[s2.notnull()]).all()
Out[15]: True
Ayrıca adı vb kontrol edebilir. farklıysa eğer zam istiyorsanız
, pandas.util.testing
den assert_series_equal
kullanın: Bu işler
In [21]: from pandas.util.testing import assert_series_equal
In [22]: assert_series_equal(s1, s2)
In [16]: s1 = Series([1,np.nan])
In [17]: s2 = Series([1,np.nan])
In [18]: (s1.dropna()==s2.dropna()).all()
Out[18]: True
Jeff, çözümünüz NaN'lerin konumunu göz ardı eder: '(Seri ([1, nan]) .sayra() == Serisi ([nan, 1]). Dropna()) all() # => Doğru –
yep .... Andy yukarıda gösterildiği gibi gerçekten doğru yol '' assert_series_equal'' dir – Jeff
- 1. Null dizisi niçin niçin niçin?
- 2. Java'da HashMaps'i Karşılaştırma
- 3. Niçin endekslenebiliyor?
- 4. Karşılaştırma UIImage
- 5. Karşılaştırma ActionBarSherlock
- 6. ilişki/karşılaştırma?
- 7. Karşılaştırma operatörleri
- 8. Nesneleri karşılaştırma
- 9. YCSB Karşılaştırma
- 10. NSDates'i Karşılaştırma
- 11. Niçin çerezim silinmiyor/silinmiyor?
- 12. Niçin Java ile
- 13. Niçin Siparişi [Int]
- 14. Niçin Değişken harita kıvılcım
- 15. Niçin Android emülatörleri 5554
- 16. Niçin yineleyicileri taşıyamıyorduk?
- 17. Daha hızlı, ucuz db Karşılaştırma Aracı Visual Studio'daki Şema Karşılaştırma?
- 18. niçin 'du' genellikle du -b`
- 19. Delphi nop'ları niçin ortasına sokar?
- 20. Niçin destek geri yineleyicileri silmez?
- 21. Dize ve Numaralandırmayı Karşılaştırma
- 22. MongoDB tarih karşılaştırma
- 23. Tarihler arasında karşılaştırma C#
- 24. XMLGregorianCalendar Tarih karşılaştırma
- 25. gruplama, karşılaştırma ve r
- 26. İki XML Şemasını Karşılaştırma
- 27. Dize karşılaştırma çalışmıyor
- 28. Dize Karşılaştırma Sorununda JavaScript
- 29. Python'da İstisna Nesnelerini Karşılaştırma
- 30. Derin karşılaştırma Java'daki ayarlar
, çok kötü sadece yanlış dönmeden yerine bir özel durum oluşturur. –
@DunPeal, doğru olanı yapan bir güncelleme ekledi. –
teşekkürler, bu iyi çalışıyor. Pandaların bu küçük parçacığı seri olarak özetleyen bir yöntem eklemesinin mantıklı olacağını düşünüyorum. –