gpt4 book ai didi

python - 如何创建一个新列,其值是现有 ByteArray 列的十六进制字符串?

转载 作者:太空宇宙 更新时间:2023-11-03 23:52:31 25 4
gpt4 key购买 nike

我有一个目前看起来像这样的数据框:

Date      ByteArray
1/2/2019 bytearray([21,24,120,3,32,32,0,215])
2/1/2019 bytearray([24,22,115,4,35,31,0,216])

我的目标是获得如下所示的数据框:

Date      ByteArray                            Hex String
1/2/2019 bytearray([21,24,120,3,32,32,0,215]) 15 18 78 03 20 20 00 D7
2/1/2019 bytearray([24,22,115,4,35,31,0,216]) 18 16 73 04 23 1F 00 D8

我知道在 pandas 之外,如果我有单个 bytearray 我想转换我可以这样做:

y=bytearray([24,22,115,4,35,31,0,216])
print((' '.join(format(x, '02x') for x in y)).upper())

但我不确定如何使用 pandas/dataframes 执行此操作。帮助将不胜感激!

最佳答案

使用我不知道的内置 Pandas 函数可能有更好(更快)的方法,但是使用 apply,您可以将任意 Python 函数应用于您的数据。下面的代码只是将您提供的代码片段应用到列中的每个元素:

df['Hex String'] = df['ByteArray'].apply(lambda y: ' '.join(format(x, '02x') for x in y).upper())

关于python - 如何创建一个新列,其值是现有 ByteArray 列的十六进制字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58892390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com