如何用双重for循环为预期进球结果添加对阵球队名称?
解决方案
当然可以!你只需要在循环里把球队名称和预测出的预期进球值组合成目标字符串格式就行。这里要注意的是poisson_model.predict()针对单条数据预测时,返回的通常是包含单个元素的数组(或Pandas Series),得先把数值提取出来再和球队名拼接。
修改后的代码如下:
test = [] for i in clubs: for e in clubs2: # 提取预测的预期进球值,拿到单个浮点数 xg_value = poisson_model.predict(pd.DataFrame(data={'team': i, 'opponent': e, 'home':1}, index=[1])).item() # 格式化字符串,保留两位小数和示例格式一致 result_str = f"{i} - {e} {xg_value:.2f}" test.append(result_str)
关键细节说明:
- 提取数值:用
.item()把预测结果里的单个数值取出来,避免直接拼接数组导致格式混乱;如果你的模型返回的是Pandas Series,也可以用[0]来提取,效果一样。 - 格式化输出:f-string写法简洁直观,
:2f用来固定保留两位小数,和你给出的示例格式匹配;如果不需要固定小数位数,直接写{xg_value}即可。 - 最终效果:
test列表里的每个元素都会是类似'Arsenal - Chelsea 1.11'的字符串,完全符合你的需求。
内容的提问来源于stack exchange,提问作者Bart
相关产品推荐
相关产品推荐

