Python中如何将整数转换为小数?散点图绘制场景下的技术咨询
散点图绘制整数转小数解决方案
问题说明
你当前的代码存在三处核心问题:标签映射错误、冗余无效代码、未做数值格式转换,按以下步骤修改即可达到预期效果:
修改步骤
- 删除无效代码:
ax.scatter(x, y, marker = 'o')行中x、y变量未定义,属于冗余代码,直接删除即可。 - 修正轴标签错误:你
sns.scatterplot中指定的x轴为温度、y轴为租赁量,后续set_xlabel、set_ylabel写反了,直接调整对应文案即可。 - 整数转小数操作:
- 若要将DataFrame中的整数字段转为浮点型,使用
astype(float)方法即可,示例:day['cnt'] = day['cnt'].astype(float) - 你使用的共享单车公开数据集中,
temp字段是归一化到0-1区间的数值,要转为实际摄氏度小数值,计算公式为实际温度 = temp * 41,示例:day['actual_temp'] = day['temp'] * 41 - 若要强制坐标轴显示小数刻度,可引入
matplotlib.ticker的格式化工具实现。
- 若要将DataFrame中的整数字段转为浮点型,使用
完整可运行代码
import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns from matplotlib.ticker import FormatStrFormatter # 读取数据集 day = pd.read_csv("day.csv") # 归一化温度转实际摄氏度(小数) day['actual_temp'] = day['temp'] * 41 # 可选:租赁量整数转小数 day['cnt'] = day['cnt'].astype(float) # 绘制画布 fig, ax = plt.subplots(figsize = (10,8)) # 绘制散点图 sns.scatterplot(x = "actual_temp", y = "cnt", data = day, marker='o') # 设置图表属性 ax.set_title("不同温度下的单车租赁量" , fontsize = 14) ax.set_xlabel("归一化温度", fontsize = 12) ax.set_ylabel("单车总租赁量", fontsize = 12) # 强制x轴刻度保留1位小数 ax.xaxis.set_major_formatter(FormatStrFormatter('%.1f')) # 显示图表 plt.show()
效果参考
当前运行结果

预期运行结果

内容的提问来源于stack exchange,提问作者user15273560
相关产品推荐
相关产品推荐

