string - Numpy 整数数组到没有“0x”的十六进制字符串数组
问题描述
array([(1, 1, 0, 2, 240), (1, 1, 0, 255, 255), (1, 1, 0, 255, 255), ...,
(1, 1, 0, 255, 255), (1, 1, 0, 255, 255), (1, 1, 0, 255, 60)],
dtype=[('A','u1'), ('B','u1'), ('C','u1'), ('D','u1'), ('E','u1')])
我有一个如上所示的 numpy 数组,我想将它们打印到 HEX 格式的文件中,如下所示:
1 1 0 02 EF
1 1 0 FF FF
...
1 1 0 FF FF
1 1 0 FF 3C
最左边 3 列的整数值只有 0 和 1,因此它们应该只有 1 个 HEX 字符。最右边的 2 列都应该有 2 个 HEX 字符,即使它们的整数值只需要 1。应该省略“0x”前缀。
直接的方法是使用for循环并格式化字符串,但数据集很大,需要很长时间才能完成。是否有一种快速的 numpy 方法来构建字符串数组,然后将其输出到文件?
解决方案
好的,我在这方面做了更多的工作,我发现这个解决方案对我有用:
numpy.savetxt("my_file.txt", my_numpy_structured_array, delimiter=" ", fmt="%x %x %x %02x %02x")
推荐阅读
- selenium - Webdriver 无法连接到 Selenium 服务器
- android - 在 MainActivity 中打开 Switch 时,如何为其他 Activity 添加计时器?
- c# - WPF ListViewItem 焦点选择第二行
- parallel-processing - 教堂中的正交递归二等分(Barnes-Hut 算法)
- c# - 如何在主 C# 代码和运行时编译代码中创建和使用相同的类?
- java - 如何在硒中读取excel文件
- google-maps - Flutter - 导航推送上的 Builder null
- vba - 使用 VBA 复制、粘贴和删除列
- ruby-on-rails - 生产中没有选择风格的导轨
- wordpress - Woocommerce 产品可由其作者针对特定用户角色进行编辑