调用pandas boxplot绘制指定列箱线图出现TypeError与KeyError问题
报错原因及解决方案
第一个TypeError报错原因
pandas的DataFrame.boxplot()方法指定目标列的参数名为单数column,不是复数columns,你后续调整参数名的操作已经解决了该问题。
第二个KeyError报错原因
报错提示数据框中不存在你指定的RevolvingUtilizationOfUnsecuredLines列,可按照以下步骤排查解决:
- 第一步:先确认数据框的实际列名,执行以下代码打印所有列名核对:
print(loans.columns.tolist())
该报错的常见诱因:
- 读取csv文件时没有正确识别表头,比如调用
pd.read_csv()时错误设置了header=None,导致列名被识别为0、1、2……等序号 - 原始csv的列名前后存在多余空格,和你输入的列名不完全匹配
- 第二步:对应问题修复
若为表头读取错误,重新读取数据即可,参考代码:
import pandas as pd loans = pd.read_csv('你的本地数据文件路径.csv', header=0) # header=0为默认参数,代表用文件第一行作为列名
若为列名有多余空格,批量去除列名前后空格:
loans.columns = loans.columns.str.strip()
- 第三步:执行绘图代码
import matplotlib.pyplot as plt loans.boxplot(column="RevolvingUtilizationOfUnsecuredLines") plt.show()
内容的提问来源于stack exchange,提问作者Sujith
相关产品推荐
相关产品推荐

