Estou tentando iterar por uma lista de datraframes e fazer duas coisas, substituir espaços em branco por "_" (o que eu fiz) e adicionar um sufixo à primeira coluna de cada dataframe. Sei que posso acessar a primeira coluna de cada dataframe por meio da linha print dentro do loop abaixo, mas estou tendo problemas para adicionar o sufixo à primeira coluna. Alguém pode ajudar?
Dados de amostra:
import pandas as pd
px_data = {'Date': ['8/11/18', '8/12/18', '8/13/18', '8/14/18'],
'A df': [58.63, 21.25, 19.17, 18.8],
'B df': [35,105,27,98]}
SC_data = {'Date': ['8/11/18', '8/12/18', '8/13/18', '8/14/18'],
'A df': [20.50, 6, 82, 74.6],
'B df': [74,62,8,99]}
SMA_data = {'Date': ['8/11/18', '8/12/18', '8/13/18', '8/14/18'],
'A df': [2, 95.3, 39, 68.27],
'B df': [58,37,74,11]}
px = pd.DataFrame(px_data)
SC = pd.DataFrame(SC_data)
SMA = pd.DataFrame(SMA_data)
dfs=[px,SC,SMA]
for i in range(len(dfs)):
dfs[i].columns = dfs[i].columns.str.replace(' ', '_')
print(dfs[i].columns[0])
Uma possível solução, que usa
list comprehension
a recriação dos nomes das colunas:Ou melhor ainda, como @iBeMeltin sugere em um comentário abaixo e a quem agradeço:
Depois de substituir os espaços em branco por sublinhados, você pode adicionar um sufixo às primeiras colunas de cada dataframe da seguinte maneira: