I have a dataframe:
import numpy as np
import pandas as pd
np.random.seed(18)
df = pd.DataFrame(np.random.randint(0,50,size=(10, 2)), columns=list('AB'))
df['Min'] = np.nan
n = 3 # can be changed
I need to fill column 'Min' with minimum values of next n enrties of column 'B':
Currently I do it using iteration:
for row in range (0, df.shape[0]-n):
low = []
for i in range (1, n+1):
low.append(df.loc[df.index[row+i], 'B'])
df.loc[df.index[row], 'Min'] = min(low)
But it is quite a slow process. Is there more efficient way, please? Thank you.