如何在dict中测试熊猫系列的相等性



我已经将panda系列封装到dict:dict = {'0': pd.Series(...)}中。在单元测试期间,我想断言dict中包含的系列和预期的pandas系列是相等的。然而,由于ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().,普通assert dict == expected_dict不起作用。对于一个普通的系列,我通常使用pandas.testing.assert_series_equal。如何测试包装在dict中的pandas系列equal?

如果我正确理解你的问题,为了测试两个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

最新更新