如何写y为x函数的plt.scatter(x,y),使其x与y关系更易理解
解决方案
你可以通过变量语义化命名+显式指定scatter函数的关键字参数实现需求,改造后仅看scatter调用就能明确x、y的含义,无需回溯前置代码。
改造后代码示例
import matplotlib.pyplot as plt import pandas as pd # 变量名直接表达含义,取消无意义的变量名a null_count_threshold = list(range(1200)) feature_cnt_over_threshold = [] for threshold in null_count_threshold: # 筛选空值数量超过当前阈值的特征 matched_features = [col for col in df.columns if df[col].isnull().sum() > threshold] feature_cnt_over_threshold.append(len(matched_features)) # 显式指定x、y关键字参数,参数含义一目了然 plt.scatter(x=null_count_threshold, y=feature_cnt_over_threshold) # 额外补充坐标轴标签进一步提升可读性 plt.xlabel("空值数量阈值") plt.ylabel("空值数超过阈值的特征数量") plt.show()
更高效的精简写法
可以用pandas向量化操作替换循环,性能更好,逻辑同样清晰:
col_na_sum = df.isnull().sum() null_count_threshold = range(1200) feature_cnt_over_threshold = [sum(col_na_sum > threshold) for threshold in null_count_threshold] plt.scatter(x=null_count_threshold, y=feature_cnt_over_threshold)
内容的提问来源于stack exchange,提问作者mir abir hossain
相关产品推荐
相关产品推荐

