Я хочу проверить, имеют ли два объекта pandas.Series
одинаковое содержимое, с помощью модуля unittest
:
self.assertSequenceEqual(
df['some_column'],
someOtherSeries)
В соответствии с документацией unittest
вышеприведенное должно работать (на основе документы ).Тем не менее, когда я запускаю мой вышеупомянутый модульный тест, я получаю это:
======================================================================
ERROR: test_my_test (my_module.test.test_my_module.SimpleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/root/src/my_module/my_module/test/test_my_test.py", line 28, in test_my_test
someOtherSeries)
File "/usr/local/lib/python2.7/unittest/case.py", line 663, in assertSequenceEqual
if seq1 == seq2:
File "/usr/local/lib/python2.7/site-packages/pandas/core/generic.py", line 917, in __nonzero__
.format(self.__class__.__name__))
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
Как я могу проверить, являются ли Series одинаковыми?
Обратите внимание, что преобразование Series в list
объекты кажетсячтобы обойти эту проблему, но это похоже на взлом:
self.assertSequenceEqual(
list(df['some_column']),
list(someOtherSeries))