python - 字符串到单个字符的数组,而不沿途转换为列表
问题描述
有没有办法将 Python 字符串转换为 NumPy 字符数组,其中每个单独的字符都是它自己的数组元素,而无需先将字符串转换为列表?我有一个程序必须使用大量数据执行此操作,并且我已将转换步骤本身确定为瓶颈,但我似乎找不到任何 NumPy 函数可以直接获取字符串并以这种方式转换它而无需先创建一个通用 Python 列表。
解决方案
IIUC,可以使用fromiter
指定dtypeunicode
为 length 1
。
>>> np.fromiter('abcdefg', (np.unicode,1))
与官方文档一样,
chararray 类的存在是为了向后兼容 Numarray,不建议用于新开发。从 numpy 1.4 开始,如果需要字符串数组,建议使用 dtype object_、string_ 或 unicode_ 的数组,并使用 numpy.char 模块中的免费函数进行快速向量化字符串操作。
因此,如果您需要使用类似的方法isalpha()
,请使用np.char
模块,如下所示,而不是np.chararray
类:
>>> np.char.isalpha(x)
推荐阅读
- struct - RUST:更好(更简单/更简单)的方式来使用结构中的枚举?
- swift - 转换为具有关联值的子类型
- php - PHP sudo:需要终端才能读取密码
- sql - SQL Oracle,这里做了什么?
- angular - 如何使用 Formly 将复选框值保存为字符串?
- php - 在 WordPress 的 wpDataTables 中使用序列化的 PHP 数组
- c# - .editorconfig .NET 命名约定不起作用
- excel - 从 Excel 导出到 Word 时将布局更改为水平
- automation - 模块“./get-username”在哪里?
- python-3.x - Gekko ARX 模型崩溃可能加载最后一次迭代