【问题标题】:How can I test equality of a pandas series in a dict?如何在字典中测试熊猫系列的相等性?
【发布时间】:2020-10-30 04:55:29
【问题描述】:

我已经将熊猫系列包装成一个字典:dict = {'0': pd.Series(...)}。在单元测试期间,我想断言 dict 中包含的系列与预期的熊猫系列相比相等。然而,由于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 系列相等性?

【问题讨论】:

    标签: pandas dictionary series


    【解决方案1】:

    如果我正确理解了您的问题,为了测试两个pandas.Series 是否相等,您可以使用pandas.Series.equals。另外,您可以使用对应的键(在本例中为'0')来引用字典中包装的Series

    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
    

    【讨论】:

      猜你喜欢
      • 2019-09-28
      • 2017-12-15
      • 1970-01-01
      • 2016-09-22
      • 2011-04-17
      • 2015-07-30
      • 2017-09-23
      • 2017-02-25
      • 2021-12-02
      相关资源
      最近更新 更多