Как я могу проверить равенство серии pandas в dict? - PullRequest
1 голос
/ 09 июля 2020

Я заключил серию pandas в dict: dict = {'0': pd.Series(...)}. Во время модульного тестирования я хотел бы подтвердить равенство серии, содержащейся в dict, по сравнению с ожидаемой серией pandas. Однако простой assert dict == expected_dict не работает из-за ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().. Для простой серии я обычно использую pandas .testing.assert_series_equal . Как я могу проверить равенство серии pandas, заключенное в dict?

1 Ответ

0 голосов
/ 13 июля 2020

Если я правильно понял ваш вопрос, чтобы проверить, равны ли два pandas.Series, вы можете использовать pandas.Series.equals. Кроме того, вы можете ссылаться на серию, заключенную в словарь, используя соответствующий ключ (в данном случае '0')

import pandas as pd

exp_series = pd.Series(['a', 'b', 'c', 'd', 'e'])
d = {'0': pd.Series(['a', 'b', 'c', 'd', 'a'])}
pd.Series.equals(d['0'], exp_series)
# False

exp_series = pd.Series(['a', 'b', 'c', 'd', 'e'])
d = {'0': pd.Series(['a', 'b', 'c', 'd', 'e'])}
pd.Series.equals(d['0'], exp_series)
# True
...