#FUNCTION TO IDENTIFY OUTLIERS USING IQR METHOD def iqr_outlier(x,factor): q1 = x.quantile(0.25) q3 = x.quantile(0.75) iqr = q3 - q1 min_ = q1 - factor * iqr max_ = q3 + factor * iqr result_ = pd.Series([0] * len(x)) result_[((x < min_) | (x > max_))] = 1 return result_ #SCATTER PLOTS HIGHLIGHTING OUTLIERS CALCULATED USING IQR METHOD fig, ax = plt.subplots(7, 2, figsize=(20, 30)) row = col = 0 for n,i in enumerate(data.columns): if (n % 2 == 0) & (n > 0): row += 1 col = 0 outliers = iqr_outlier(data[i], 1.5) if sum(outliers) == 0: sns.scatterplot(x = np.arange(len(data[i])), y = data[i], ax = ax[row, col], legend=False, color = 'green') else: sns.scatterplot(x = np.arange(len(data[i])), y = data[i], ax = ax[row, col], hue = outliers, palette = ['green','red']) for x,y in zip(np.arange(len(data[i]))[outliers == 1], data[i][outliers == 1]): ax[row,col].text(x = x, y = y, s = y, fontsize = 8) ax[row,col].set_ylabel("") ax[row,col].set_title(i) ax[row,col].xaxis.set_visible(False) if sum(outliers) > 0: ax[row,col].legend(ncol=2) col += 1 ax[row,col].axis('off') plt.show()