数据可视化异常:A(s)变量最小值显示18K但实际最大值仅12K求助
Pandas直方图显示
A(s)数值异常排查 我的数据中A(s)变量最大值仅为12K,但使用Pandas绘制直方图时,该变量的最小值却显示为18K,明显存在错误。以下是相关信息:
数据样例
date CLEARANCE PERMITS INSPECTION Facilities licenses PR A(s) 2020-04-01 25321 17913 16987 6631 14976 1980 2020-05-01 22277 22154 6588 5156 7392 1150 2020-06-01 32063 16542 13021 6720 18963 2311 2020-07-01 27345 15658 7680 5100 20947 2096 2020-08-01 28565 16222 6634 4652 19591 2045
执行代码
from pandas._config import describe_option describe_option df.hist(bins=10, figsize=(9,7), grid=False); df.info()
输出信息
<class 'pandas.core.frame.DataFrame'> RangeIndex: 31 entries, 0 to 30 Data columns (total 7 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 date 31 non-null datetime64[ns] 1 A(s) 31 non-null int64 2 CLEARANCE 31 non-null int64 3 PERMITS 31 non-null int64 4 INSPECTION 31 non-null int64 5 Facilities licenses 31 non-null int64 6 PR 31 non-null int64 dtypes: datetime64[ns](1), int64(6) memory usage: 1.8 KB
可视化截图

排查与解决步骤
- 确认子图对应列:
df.hist()会为所有数值列生成子图,你可能混淆了子图对应的列——其他列(如PR、CLEARANCE)数值范围都在10K以上,容易和A(s)的子图搞混。 - 单独绘制
A(s)直方图:直接针对目标列绘图,避免子图混淆:df['A(s)'].hist(bins=10, figsize=(9,7), grid=False); - 验证数据实际范围:先输出
A(s)的统计值,确认数据本身无异常:
该命令会输出print(df['A(s)'].describe())A(s)的最小值、最大值、分位数等核心统计数据,直接验证数据是否符合预期。 - 处理列名特殊字符:
A(s)的列名包含括号,虽Pandas支持,但可尝试重命名后再绘图,排除潜在渲染问题:df.rename(columns={'A(s)': 'A_s'}, inplace=True) df['A_s'].hist(bins=10, figsize=(9,7), grid=False);
内容的提问来源于stack exchange,提问作者kjnk
相关产品推荐
相关产品推荐

