我正在尝试遍历数据框列表并做两件事,用“_”替换空格(我已经这样做了)并在每个数据框的第一列添加后缀。我知道我可以通过下面循环中的打印行访问每个数据框的第一列,但我无法在第一列添加后缀。有人可以帮忙吗?
样本数据:
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])
一种可能的解决方案是
list comprehension
重新创建列名:或者甚至更好,正如@iBeMeltin 在下面的评论中所建议的那样,我向他表示感谢:
用下划线替换空格后,您可以按照以下方式向每个数据框的第一列添加后缀: