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

df.replace regex 从十六进制到二进制

如何解决df.replace regex 从十六进制到二进制

我正在尝试在 Pandas 列中将十六进制转换为二进制。对象类型。

我已将 F 转换为 1111 没问题,现在我如何从 0-F 转换??

df1 = df["SFROW_ID"].replace(to_replace=r'F',value='1111',regex=True)

到目前为止的输出

enter image description here

谢谢

解决方法

您可以将其转换为 int,然后再转换回二进制:

df["SFROW_ID"].map(lambda x: f"{int(x,16):012b}")
df
   A SFROW_ID
0  1      247
1  2       FC
2  3      2D0
3  4      001
4  5      068

df1
   A      SFROW_ID
0  1  001001000111
1  2  000011111100
2  3  001011010000
3  4  000000000001
4  5  000001101000

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