I'm pulling stock quote data from Yahoo Finance for multiple stocks in 'acoes', but the pd.melt() function is not returning the stock symbols, only the other data columns (result shown in the image).
import pandas as pd
import datetime
import yfinance as yf
acoes = ["PETR4.SA", "BOVA11.SA", "VALE3.SA"]
hoje = datetime.datetime.now()
data_final = hoje - datetime.timedelta(days=30)
dados_acoes = yf.download(acoes, start=data_final, end=hoje)
dados_acoes = dados_acoes.reset_index()
volume_financeiro = dados_acoes['Volume'] * dados_acoes['Close']
volume_financeiro_label = "Volume Financeiro"
volume_financeiro.columns = pd.MultiIndex.from_product([[volume_financeiro_label],volume_financeiro.columns.unique()])
final_df = pd.concat([dados_acoes,volume_financeiro],axis=1)
dados_acoes_melzinho = pd.melt(final_df, id_vars='Date', var_name='Ativo', value_name='VF')
display(dados_acoes_melzinho)

How can I display the stock codes in the 'Ativo' column?
Use index operations to reshape your dataframe and keep multi-index information:
Note: you can remove
.reset_index()if you want to keepDateandSymbolcolumns as index.EDIT
Try: