微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我使用用户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])

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐