I think a combination of the seaborn style and the way matplotlib draws boxplots is hiding your outliers here.
If I generate some skewed data
import seaborn as sns
import pandas as pd
import numpy as np
x = pd.DataFrame(np.random.lognormal(size=(100, 6)),
columns=list("abcdef"))
And then use the boxplot
method on the dataframe, I see something similar
x.boxplot()
But if you change the symbol used to plot outliers, you get
x.boxplot(sym="k.")
Alternatively, you can use the seaborn boxplot
function, which does the same thing but with some nice aesthetics:
sns.boxplot(x)