我对此感到惊讶:
dfnew = df.rename(columns=lambda x: re.sub('.*(\d?\d\.\d).*','ass \\1', x ))
如果该列名为“Assignment 3.2”,则将其重命名为“ass 3.2”(好) 但是,如果该列被称为“Assignment 12.2”,则将其重命名为“ass 2.2”(不好)
我以为我把它设置得恰到好处。你能看到我错过的东西吗?
答案 0 :(得分:0)
试试这个:
dfnew = df.rename(columns=lambda x: re.sub('.* (\d+\.\d).*','ass \\1', x ))
答案 1 :(得分:0)
感谢您的帮助。这是解决方案:
dfnew = df.rename(columns=lambda x: re.sub('.*?(\d?\d\.\d).*','ass \\1', x ))