У меня есть два кадра данных, оба имеют одинаковые формы.
dfA
2008LG 2007LG 2006LG 2005LG
0 44 65 30 20
1 10 16 56 70
2 65 30 20 122
3 0.0 0.00 679 158
4 0.0 0.00 30 20
dfB
2008Net 2007Net 2006Net 2005Net
0 0 0 0 452
1 0 0 0 365
2 0 0 0 778
3 0 0 0 78
4 0 0 0 60
Логика расчета: для каждой строки в dfB,начните с самого конца 2005Net
столбца и используйте 2005LG
- 2005net
и получите значение, которое присваивается первым правым столбцам 2005Net
.
Например: для первой итерации 2005LG
- 2005Net
= 20-452 = -432
и присвоить -432
2006Net
. и вторая итерация начнется с 2006LG
- 2006Net
= 30 - -432
= 462 и будет присвоена 2007Net
.
ниже мой код, но он не разрезает его, что именно здесь не так?
import pandas as pd
import numpy as np
from tqdm import tqdm
for index in tqdm(range(dfA.shape[0])):
for col_index in reversed(range(4)):
the_value = 0
the_value = dfA[dfA.columns[col_index]].iloc[index] - dfB[dfB.columns[col_index]].iloc[index]
dfB[dfB.columns[col_index-1]].iloc[index] = the_value