это мой код
_d=pd.DataFrame([[1,'foo'],[2,'bar'],[3,'kraig'],[4,'tar']],columns=['roll no','name'],index=[100,200,300,400])
_d.apply(lambda x:print(x['roll no'],axis=1)
я хочу умножить мой бросок нет по сравнению с предыдущим rollno, что-то вроде этого
roll no hidden logic result
===============================
1 1*1 1
2 2*1 2
3 3*2 6
4 4*3 12
как мне это сделать?
я знаю, что могу сделать что-то подобное
for i in range(1, len(df)):
df.loc[i, 'result'] = df.loc[i-1, 'roll no'] * df.loc[i, 'roll no']
, но приведенные выше логики c не гарантируют, если результат соответствует умножению предыдущей строки