加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 从Dataframe – Pandas中的所有列的列名中删除最后两

发布时间:2020-12-20 11:51:35 所属栏目:Python 来源:网络整理
导读:我使用用户ID密钥加入具有相同列/列名称的两个数据帧(a,b),并且在加入时,我必须提供后缀字符,以便创建它.以下是我使用的命令, a.join(b,how='inner',on='userId',lsuffix="_1") 如果我不使用这个后缀,我会收到错误.但我不希望列名更改,因为这会导致运行其他
我使用用户ID密钥加入具有相同列/列名称的两个数据帧(a,b),并且在加入时,我必须提供后缀字符,以便创建它.以下是我使用的命令,

a.join(b,how='inner',on='userId',lsuffix="_1")

如果我不使用这个后缀,我会收到错误.但我不希望列名更改,因为这会导致运行其他分析时出现问题.所以我想从结果数据帧的所有列名中删除这个“_1”字符.任何人都可以建议我删除Pandas数据帧中所有列的最后两个字符的有效方法吗?

谢谢

解决方法

这个片段应该完成工作:

df.columns = pd.Index(map(lambda x : str(x)[:-2],df.columns))

编辑:这是一种更好的方法

df.rename(columns = lambda x : str(x)[:-2])

在这两种情况下,我们所做的只是迭代列并应用一些函数.在这种情况下,该函数将某些内容转换为字符串,并将所有内容转换为最后两个字符.

我相信还有其他一些方法可以做到这一点.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读