尝试使用正则表达式重命名pandas dataframe列,我知道如何按照下面的方法重命名列表,但无法使用df.rename获得成功结果
输入:
df.columns.values = ['Time', '101 <RoomTemperature> (C)', '102 <ChemberTemperature> (C)', '103 <U1100> (C)', '103 <U1200 (C)', '103 U1500> (C)']
按照下面的代码使用正则表达式重命名dataframe列的尝试,但它不起作用。我想不出如何在df.rename方法中将多条指令放在一起
df.rename(columns={c: c.strip() for c in df.columns.values.tolist()
if "<" and ">" in c:
re.search(r"(?<=<).*(?=>)",c).group(0)}, inplace=True)
我希望它遵循regex,并按照以下方式将其重命名为:
df.columns.values = ["Time", "RoomTemperature", "ChemberTemperature", "U1100", "103 <U1200 (C)", "103 U1500> (C)"]
另一个解决方案是,regex可能会有一些不友好的外观,尽管它有强大的功能:
您可以将功能提取到函数中并执行以下操作:
输出
也就是说,您还需要修复正则表达式
您可以根据需要使用正则表达式提取匹配组,然后使用^{} 更改列标签
试试这个:
重命名后
df.columns
将为:相关问题 更多 >
编程相关推荐