это похоже на базовый c вопрос, но элегантное решение ускользает от меня.
У меня есть pandas фрейм данных, где все значения были назначены в одну строку. Однако мне нужно разделить значения по нескольким строкам по весам. Пример здесь:
Кадр входных данных:
import pandas as pd
# starting df with weights W.
df_input = pd.DataFrame({
'W': [0.3, 0.2, 0.5],
'X1': [100, 0, 0],
'X2': [150, 0, 0],
'X3': [200, 0, 0],
'X4': [300, 0, 0]
})
Требуемый кадр выходных данных:
df_output = pd.DataFrame({
'W': [0.3, 0.2, 0.5],
'X1': [30, 20, 50],
'X2': [45, 30, 75],
'X3': [60, 40, 100],
'X4': [90, 60, 150]
})
Снимок экрана: