.std() & .skew() giving wrong answer with .rolling
I am using pandas version: '0.23.4'

While debugging my code I realized that, std & skew is not giving correct results with rolling window.
Check the code below:

import pandas as pd
import numpy as np
import scipy.stats as sp

df = pd.DataFrame(np.random.randint(1,10,(5)))
df_w = df.rolling(window=3, min_periods=1)

m1 = df_w.apply(lambda x: np.mean(x))
m2 = df_w.mean()

s1 = df_w.apply(lambda x: np.std(x))
s2 = df_w.std()

sk1 = df_w.apply(lambda x: sp.skew(x))
sk2 = df_w.skew()

Now though m1 & m2 are same:

m1 | m2
-- | --
0  1.000000 | 0  1.000000
1  4.500000 | 1  4.500000
2  4.666667 | 2  4.666667
3  6.666667 | 3  6.666667
4  6.333333 | 4  6.333333

s1 & s2 are not

s1 | s2
-- | --
0  0.000000 | 0       NaN
1  3.500000 | 1  4.949747
2  2.867442 | 2  3.511885
3  1.247219 | 3  1.527525
4  0.942809 | 4  1.154701

nor are sk1 & sk2 same

sk1 | sk2
-- | --
0  0.000000 | 0       NaN
1  0.000000 | 1       NaN
2 -0.172801 | 2 -0.423273
3 -0.381802 | 3 -0.935220
4 -0.707107 | 4 -1.732051

Is this the usual behavior in case of std & skew or I am missing something ?