【发布时间】:2020-11-29 20:52:29
【问题描述】:
我正在尝试在 Python 中重命名我的 df 中的一堆列。因为有超过 1000 个应该重命名,所以我尝试用正则表达式来做,因为我看到 Python 允许你这样做。更具体地说,应重命名以 _Sum 结尾的每一列,将 _Sum 部分替换为“_max”(例如:column1_Sum -> column1_max)。我试过以下代码:
df = df.rename(columns=lambda x: re.sub('(.+)_Sum$','$1_max',x))
但它只是将每个列名逐字替换为“$1_max”。我以前在其他程序中使用过正则表达式,我一直认为 $1 捕获了你以前的组,在这种情况下,是 '_' 之前的所有内容,所以我真的不知道我在这里做错了什么。
【问题讨论】:
-
改用
r"\1_max"
标签: python regex pandas rename