python - 向尚无后缀的列名称添加后缀

标签 python python-3.x pandas

我有一个包含列的数据框

Name  Date  Date_x  Date_y  A  A_x  A_y..

我需要将 _z 添加到还没有 _x 或 _y 的列(名称列除外)。所以,我希望输出类似于

Name  Date_z  Date_x  Date_y  A_z  A_x  A_y...

我试过了

df.iloc[:,~df.columns.str.contains('x|y|Name')]=df.iloc[:,~df.columns.str.contains('x|y|Name')].add_suffix("_z")
# doesn't add suffixes and replaces columns with all nans

df.columns=df.columns.map(lambda x : x+'_z' if "x" not in x or "y" not in x else x) 
#many variations of this but seems to add _z to all of the column names

最佳答案

怎么样:

df.columns = [x if x=='Name' or '_' in x else x+'_z' for x in df.columns]

关于python - 向尚无后缀的列名称添加后缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58208517/

相关文章:

python - 我如何要求 root 密码但稍后执行操作?

python - 在 matplotlib pcolor 图上设置正确对齐的轴标签

r - 相当于R list()的Python

python - pandas - 根据不同数据框中的另一个值获取值

python - 查找行并删除它 - Pandas DataFrame

python - 用另一个列表中相同索引处的值替换列表中的错误值

python - 将 csv 文件加载到 pandas 数据框中

Python 解析 XML 文件中的某些行并将该行输出到文本小部件

python - numpy 中的二进制编码的十进制 dtype

python - 用 pandas 将字符串拆分为数字和文本