首页 > 解决方案 > 如何重命名包含特殊(希腊)字符的列

问题描述

我有一个数据框,在我的脚本的早期,我使用以下方法命名我的列:

beta = 1.17
names =np.arange((beta-0.05),(beta+0.05),.01)
dfs.columns = [r'$\beta$'+str(i) for i in names]

稍后在脚本中我想r'$\beta$'ats.

我尝试了以下方法:

dfs.columns = dfs.columns.str.replace("[(r'$\beta$')]", "ats")

但是,它没有按预期工作。任何建议表示赞赏。

谢谢。

标签: pandasdataframereplace

解决方案


您需要转义特殊的正则表达式字符$

beta = 1.17
names =np.arange((beta-0.05),(beta+0.05),.01)

dfs = pd.DataFrame(0, columns=names, index=[0])
dfs.columns = [r'$\beta$'+str(i) for i in names]

dfs.columns = dfs.columns.str.replace(r'\$\\beta\$', "ats")
print (dfs)

   ats1.1199999999999999  ats1.13  ats1.14  ats1.15  ats1.16  ats1.17  \
0                      0        0        0        0        0        0   

   ats1.18  ats1.19  ats1.2  ats1.21  ats1.22  
0        0        0       0        0        0  

推荐阅读