Я пытаюсь создать DataFrame на основе значений двух столбцов еще 2 DataFrames.
Я хочу, чтобы новый DataFrame составлял долю значения одного из столбцов (b) между всеми значениями в другом столбце (a) на основе их взвешенного вклада в этот столбец (a).
На данный момент мне удалось решить это с помощью цикла. Но мне было интересно, можете ли вы вспомнить какую-либо векторизованную функцию от панд, которая могла бы решить эту проблему быстрее?
a = pd.DataFrame(np.random.randint(1, 6, 700))
b = pd.DataFrame(np.random.randint(1, 6, 400))*1000
final_share = []
weight = a/a.sum()
for index, value in b.iterrows():
weighted_value = weight*b.iloc[index].item()
final_share.append(weighted_value)
final_share = pd.concat(final_share, axis = 1)
final_share.columns = b.index