我是机器学习的新手,可能会犯一些简单的错误,任何帮助都将不胜感激。
在执行下面的代码片段时,我遇到了错误:
def plot_region(x_bounds, y_bounds): slice = points[ (x_bounds[0] <= points.x) & (points.x <= x_bounds[1]) & (y_bounds[0] <= points.y) & (points.y <= y_bounds[1]) ] ax = slice.plot.scatter("x", "y", s=35, figsize=(10, 8)) for i, point in slice.iterrows(): ax.text(point.x + 0.005, point.y + 0.005, point.word, fontsize=11)plot_region(x_bounds=(4.0,4.2),y_bounds=(-0.5,-0.1))plot_region(x_bounds=(0, 1), y_bounds=(4, 4.5))
ValueError: scatter需要x列为数值型
回答:
代码本身没有问题…只是在x_bounds=(4.0,4.2),y_bounds=(-0.5,-0.1)范围内,points中没有值。因此slice是一个空的数据框。试着打印它看看。