如何修改Pandas代码实现列名末尾无空格加标点且跳过问号结尾列名
修正DataFrame列名添加句号的代码问题
原代码用于给DataFrame索引59到124的列名末尾添加句号,但存在两个问题:
- 列名末尾添加句号前会多出空格,比如将"I would never do that"变为"I would never do that .",预期结果应为"I would never do that."
- 若列名以问号结尾,会错误形成"?.",比如将"Are you satisfied?"变为"Are you satisfied?."
以下是修正后的代码:
lst = range(59, 125) df2 = df2.rename(columns={ col: col.rstrip() if col.rstrip().endswith('?') else col.rstrip() + '.' for idx, col in enumerate(df2.columns) if idx in lst })
代码说明
col.rstrip():先移除列名末尾的所有空格,从根源避免添加句号前出现多余空格- 条件判断:处理后的列名如果以问号结尾,直接保留该列名(不额外添加句号);否则在处理后的列名末尾加上句号,规避问号后加句号的错误
内容的提问来源于stack exchange,提问作者Scythor
相关产品推荐
相关产品推荐

