Co powiesz na to. Najpierw sprawdź Koncepcja nieliczby są w tym samym miejscu (za pomocą isnull):
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
Następnie sprawdzić wartości, które nie są NaN są równe (przy użyciu notnull):
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
Aby być równa my oba muszą być prawdziwe:
In [15]: (s1.isnull() == s2.isnull()).all() and (s1[s1.notnull()] == s2[s2.notnull()]).all()
Out[15]: True
Można również sprawdzić nazwę itp., jeśli to nie było wystarczające.
Jeśli chcesz podbiciem jeśli są one różne, należy assert_series_equal
od pandas.util.testing
:
In [21]: from pandas.util.testing import assert_series_equal
In [22]: assert_series_equal(s1, s2)
To działa, szkoda, że zgłasza wyjątek, a nie tylko powrót False. –
@DunPeal dodał aktualizację, która robi to, co trzeba. –
dzięki, to działa dobrze. Wydaje mi się, że Panda może mieć sens, aby dodać metodę, która streszcza ten mały fragment do serii. –