如果Area
或Population
的值太高,我试图切掉数据集的某些行,以便我可以基于数据创建散点图。当我通过Population
进行剪切时,效果很好,但对Area
却无效。
flagsCut = flags.loc[flags['Area'] < 6000]
flagsCut = flags.loc[flags['Population'] < 250]
print(flagsCut.shape)
plt.scatter(flagsCut['Area'].tolist(), flagsCut['Population'].tolist(), c='blue', alpha=0.5)
plt.xlabel('Area')
plt.ylabel('Population')
plt.show()
导致 scatter(不能嵌入抱歉)
如您所见,在x轴上仍然有4个数据点超过6000,但在y轴上没有250以上。
关于这种情况为什么发生以及如何解决的任何想法?
答案 0 :(得分:2)
您正在将princess::skin-tone-5
上的第一个约束应用于Area
数据帧,然后又将flags
上的第二个约束应用于Population
,而不是已经约束的{ {1}}数据框。
您需要将第二个约束应用于已经受约束的数据框,如下所示:
flags
或更简洁:
flagsCut
答案 1 :(得分:1)
以下内容应一步一步筛选出面积和人口。
flagsCut = flags.loc[(flags['Area'] < 6000) | (flags['Population'] < 250)]