You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python实现fill_count_matrix遇AssertionError测试失败求解

问题根因

你的计数逻辑完全正确,生成的矩阵数值符合需求,报错的核心原因是自动化测试期望该函数没有返回值(即返回None),而你当前的代码最后显式返回了修改后的DataFrame对象,所以触发了AssertionError。

pandas的DataFrame属于可变对象,你在函数内部通过c_matrix.loc做的赋值修改,会直接作用到传入的原始空矩阵对象上,不需要通过返回值传递修改结果,这也是测试要求返回None的设计依据。

解决方法

删除函数末尾的return c_matrix语句即可,修改后的代码如下:

def fill_count_matrix(c_matrix, p_matrix):
    '''
    填充计数矩阵:对角线统计对应商品的购买客户数,非对角线统计同时购买两个商品的客户数
    '''
    for i, (key, val) in enumerate(p_matrix.items()):
          for row in c_matrix.index:
                for col in c_matrix.columns:
                    if row in val and col in val:
                        c_matrix.loc[row,col] += 1

修改后运行测试就不会再触发返回值的断言错误了。

内容的提问来源于stack exchange,提问作者Calvin Smith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 11:06:00