Я создал небольшой фрейм данных и хочу умножить 0,5 на предыдущую строку и так далее.
In:
1
2
3
4
Out:
1
0.5
0.25
0.125
Я пробовал следующее, но не работает правильно.Это не кумулятивный и, скажем, вечный.
x = pd.DataFrame([1, 2, 3, 4])
y = np.zeros(x.shape)
y[0] = 1
yd = pd.DataFrame(y)
k = yd.shift(1) * 0.5
print (k)
Есть идеи?Спасибо
2-й более сложный вопрос, основанный на предыдущем выпуске.
data['y'] = np.where((data['a']<50) & (data['b']>0), data['initial'], pd.Series(0.99, data['y'].index).cumprod() / 0.99)
Я попробовал этот код, но он не работает.Если предпосылки верны, тогда вызовите «начальный», в противном случае перейдите к кумулятивному умножению.