python - numpy 字符数组到字符串

标签 python arrays string numpy char

我有一个 2D numpy char 数组(来自 NetCDF4 文件),它实际上表示一个字符串列表。我想将其转换为字符串列表。

我知道我可以使用 join() 将字符连接成一个字符串,但我一次只能找到一种方法来完成这个字符串:

data = np.array([['a','b'],['c','d']])
for row in data[:]:
    print ''.join(row)

但是速度很慢。如何在单个命令中返回字符串数组?谢谢

最佳答案

列表理解是最“pythonic”的方式。

最“numpythonic”的方式是:

>>> data = np.array([['a','b'],['c','d']])
# a 2D view
>>> data.view('S2')
array([['ab'],
       ['cd']], 
      dtype='|S2')
# or maybe a 1D view ...fastest solution:
>>> data.view('S2').ravel()
array(['ab', 'cd'], 
      dtype='|S2')

没有循环,没有列表理解,甚至没有副本。缓冲区只是保持不变,具有不同的“ View ”,因此这是最快的可用解决方案。

关于python - numpy 字符数组到字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10984471/

相关文章:

java - 我如何以最佳方式使用 StringBuilder 的 toString 方法

python - 告诉 Selenium 在预期条件后停止阻塞

Python将数组打印成两个结果

javascript - 将对象分配给javascript多维数组中的数组

java - 查找已排序循环整数数组的起点索引

python - Python 中的“C 风格”字符串

Python OpenSSL 生成公钥和私钥对

python - 在 Python 中将字符串转换为日期

php - 返回 foreach 中的第一个键

c# - 将 C# 日期时间转换为字符串并返回