У меня есть таблица клиентов (копер) и распределения активов (актив)
A = [[1,2],[3,4],[5,6]]
idx = ['coper1','coper2','coper3']
cols = ['asset1','asset2']
df = pd.DataFrame(A,index = idx, columns = cols)
, поэтому мои данные выглядят как
asset1 asset2
coper1 1 2
coper2 3 4
coper3 5 6
, и я хочу просмотреть ихлинейная оптимизация (у меня есть ограничения, вроде sum of all of asset_i <= amount_on_hand_i
и sum of coper_j = price_j
)
, поэтому я должен превратить эту 2D-матрицу в одномерный вектор.Что легко с расплавом
df2 = pd.melt(df,value_vars=['asset1','asset2'])
Но теперь, когда я пытаюсь расплавить его, я получаю массив из 6 строк с множеством пробелов!
df2.pivot(columns = 'variable', values = 'value')
variable asset1 asset2
0 1.0 NaN
1 3.0 NaN
2 5.0 NaN
3 NaN 2.0
4 NaN 4.0
5 NaN 6.0
Есть ли способсохранить часть «индексации» моего индексирования при использовании melt?