熊猫中的十六进制到ASCII弦

发布于 2025-01-23 02:32:23 字数 335 浏览 1 评论 0原文

我有这个pandas datafreme

data1_txt = """
Name
0x41
0x4a
0x47
"""
df = pd.read_fwf(io.StringIO(data1_txt))

,您可以看到它在十六进制中,我需要将其转换为ASCII角色。因此,我需要它看起来像这样,

data1_txt = """
Name
A
J
G
"""
df = pd.read_fwf(io.StringIO(data1_txt))

我可以在平原的python中做到这一点,但是我不能在熊猫中做到这一点。非常感谢Aný帮助

I have this pandas datafreme

data1_txt = """
Name
0x41
0x4a
0x47
"""
df = pd.read_fwf(io.StringIO(data1_txt))

As you can see it's in Hex and I need to convert it to ASCII character. Hence, I need it to look like this

data1_txt = """
Name
A
J
G
"""
df = pd.read_fwf(io.StringIO(data1_txt))

I can do this in plain python, but I can't do it in Pandas. Aný help is very much appreciated

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

短暂陪伴 2025-01-30 02:32:23

使用lambda功能或LSIT理解:

df['Name'] = df['Name'].map(lambda x: chr(int(x, 16)))
#alternatives
df['Name'] = df['Name'].apply(lambda x: chr(int(x, 16)))
df['Name'] = [chr(int(x, 16)) for x in df['Name']]
print (df)
  Name
0    A
1    J
2    G

另一个想法:

df['Name'] = df['Name'].map(lambda x: bytes.fromhex(x[2:]).decode('utf-8'))

Use lambda function or lsit comprehension:

df['Name'] = df['Name'].map(lambda x: chr(int(x, 16)))
#alternatives
df['Name'] = df['Name'].apply(lambda x: chr(int(x, 16)))
df['Name'] = [chr(int(x, 16)) for x in df['Name']]
print (df)
  Name
0    A
1    J
2    G

Another idea:

df['Name'] = df['Name'].map(lambda x: bytes.fromhex(x[2:]).decode('utf-8'))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文