Умножить строки одного датафрейма на столбцы другого по условию

Grace

Новичок
Пользователь
Сен 8, 2020
12
0
1
Есть два датафрейма:
V1v2v3v4v5v6
12744col1
34144col2
12544col3
46244nol1
27144nol2
16244nol3
24644nol4


Python:
dataframe_list =[[1,2,7,4,4, 'col1'], [3,4,1,4,4,'col2'],[1,2,5,4,4, 'col3'],[4,6,2,4,4,'nol1'],[2,7,1,4,4,'nol2'],[1,6,2,4,4,'nol3'],[2,4,6,4,4,'nol4']]
main_df =pd.DataFrame(dataframe_list, columns=['v1','v2','v3','v4','v5','v6'])

Col1col2col3nol1nol2nol3nol4
2345678
3456789


Python:
data_list =[[2,3,4,5,6,7,8],[3,4,5,6,7,8,9]]
full= pd.DataFrame(data_list, columns =['col1','col2','col3','nol1','nol2','nol3','nol4'])

Необходимо:

1.добавить условие проверки, является ли в текущей строчке столбец ‘v6’ датафрейма main_df равным названию столбца датафрейма full
2. Если условие выполняется, то умножить каждый столбец текущей строчки main_df на соответствующее значение 1 строки full
Т.е если main_df[‘v6’]= столбцу col1 (из full), то каждое значения от v1 до v5 Умножаем на 2 (ведь col1 в 1 строке имеет значение 2).
И так далее...
3. После Умножения всех значений main_df , найти сумму каждого столбца

в идеале было бы хорошо, если бы можно было указывать для какой строчки full будет идти умножение, но по-умолчанию на 1-ую.
В итоге должно получиться:
V1v2v3v4v5
66170115140140

Пока что выходит ошибка при попытке сравнить наименование и значение:
Python:
for j in full:
    for i in range(len(main_df)):
        if main_df.loc[i]['v6'] == full.columns[j]:
            ....
 

alext

Популярный
Пользователь
Май 10, 2020
288
66
28
Пока что выходит ошибка при попытке сравнить наименование и значение:
Какая ошибка-то? Телепатов тут нет.
 
  • Мне нравится
Реакции: lynulx

Grace

Новичок
Пользователь
Сен 8, 2020
12
0
1
Какая ошибка-то? Телепатов тут нет.
Ошибка:
Only integers, slices (‘:’), ellipsis (‘ ... ‘), numpy.newaxis (‘None’) and integer or boolean arrays are valid indices
 

alext

Популярный
Пользователь
Май 10, 2020
288
66
28
Screenshot 2020-09-21 at 10.33.01.png
 
  • Мне нравится
Реакции: Grace

Grace

Новичок
Пользователь
Сен 8, 2020
12
0
1
 

Форум IT Специалистов