python - 重命名 Pandas 数据框中的选定列

标签 python python-3.x pandas dataframe

假设我有以下数据框:

import pandas as pd
raw_data = {'col1': [23,45,21,45,23],'col2': [3,4,5,22,3],'col3': ['y1', 'y2', 'y3', 'y1', 'y2'],'col4': ['x1', 'x2', 'x3', 'x1', 'x2']}
df = pd.DataFrame(raw_data, columns = ['col1','col2','col3','col4','col5'])

现在我想以编程方式为除 'col2''col4' 之外的每个列名称添加前缀 'PRE-'

是否有任何方法/功能可以实现这一点?

感谢您的指点

最佳答案

使用 DataFrame.rename带 lambda 函数:

df = df.rename(columns = lambda x: f'PRE-{x}' if x not in ['col2','col4'] else x)
print (df)
   PRE-col1  col2 PRE-col3 col4 PRE-col5
0        23     3       y1   x1      NaN
1        45     4       y2   x2      NaN
2        21     5       y3   x3      NaN
3        45    22       y1   x1      NaN
4        23     3       y2   x2      NaN

关于python - 重命名 Pandas 数据框中的选定列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70751304/

相关文章:

Python 异步上下文

python - 在 Mac 上使用 anaconda 安装 pygame

python - python中两个数组(不同大小)之间可能的唯一组合?

python-3.x - 将谷歌存储桶中的所有 .csv 文件读取到一个 Pandas df 中,然后以 .csv 格式保存回另一个存储桶

python - 如何使用opencv将图像显示到PYQT

python - 如何从模块和主文件中读取配置文件?

Python 骰子滚动模拟

python - 将字节转换为int?

python - Pandas str.contains 超过一个列表?

python - 在 Pandas DataFrame 上应用自定义类/函数