将numpy字符串数组转换为16进制整数

5
我希望您能帮助将numpy中的字符串数组转换为十六进制表示的整数数组。换句话说,将以下内容转换为数组形式:
int("f040", 16)

我可以通过调用arr.astype(numpy.int32)将字符串数组转换为十进制整数,但我看不出将它们转换为十六进制的明显方法。有人知道如何做到这一点吗?
1个回答

3
ar = ['f040', 'deadbeaf'] 
int_array = [int(a, 16) for a in ar]
print int_array

output:

[61504, 3735928495L]


1
你不需要在a前面加上“0x”。 - sizzzzlerz
1
我知道列表推导可以解决问题,但我想知道是否有一种类似于astype的numpy内置的“快速”方法。 - dpitch40
@dpitch40 或许没有快速的答案,尽管列表推导式只是一行很短的代码。或者您是指性能方面?(NumPy 通常比 Python 函数快 10 倍左右)。 - Michel Keijzers

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接