Python K-NN分类中如何完整打印测试集与预测值?
解决Pandas打印Series时显示省略号的问题
嘿,我知道你在调试K-NN分类代码的时候,遇到了Pandas只显示部分y_test内容(中间用省略号替代)的问题——这其实是Pandas默认的输出优化设置在搞鬼,它会自动截断过长的Series来避免输出太杂乱。下面给你几个简单可行的解决办法:
临时调整Pandas显示设置,一次性显示所有内容
在打印y_test和y_pred之前,添加几行代码修改Pandas的显示参数:import pandas as pd # 设置显示所有行,None表示不限制行数 pd.set_option('display.max_rows', None) # 如果后续需要打印完整DataFrame,也可以加上这行显示所有列 pd.set_option('display.max_columns', None)之后再执行
print(y_pred)和print(y_test),就能看到完整的数据集内容,不会出现省略号了。如果之后想恢复默认设置,可以执行:pd.reset_option('display.max_rows') pd.reset_option('display.max_columns')转换为Python列表输出
如果你不想修改Pandas的全局设置,直接把Series转换成普通列表再打印也能解决问题:print(list(y_pred)) print(list(y_test))这种方式的好处是只影响当前这两个变量的输出,不会改变其他Pandas对象的显示格式。
使用Series的
to_string()方法
针对Pandas Series对象,还可以直接调用to_string()方法来获取完整的字符串表示:print(y_pred.to_string()) print(y_test.to_string())这个方法同样能输出完整内容,而且操作起来更直接,不需要修改全局配置。
内容的提问来源于stack exchange,提问作者user9246475
相关产品推荐
相关产品推荐

