我已经将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