【问题标题】:Python: Split numpy arrayPython:拆分numpy数组
【发布时间】:2011-11-02 11:33:10
【问题描述】:

我有一个由 numpy 生成的数组,如下所示:

[ 54.51399994 -12.10200024 -11.88099957]
[ 56.23899841 -8.30799961 -2.03500009]

如何将其转换为列表?所以看起来如下:

['54.51399994','-12.10200024','-11.88099957']
['56.23899841','-8.30799961','-2.03500009']

【问题讨论】:

  • 为什么第二个有引号?你想把数字转换成字符串吗?
  • 是的,因为我要把它写到一个文本文件中
  • 如果要将数组转储到文件中,请使用np.savetxt。您不需要自己进行此转换!

标签: python arrays list numpy


【解决方案1】:

您可以使用astype() 创建一个新的字符串 dtype 数组:

import numpy as np
arr=np.array([
    ( 54.51399994, -12.10200024, -11.88099957),
    ( 56.23899841, -8.30799961, -2.03500009)])
print(arr.astype('|S10'))

产量

[['54.51399994', '-12.10200024', '-11.88099957'], ['56.23899841', '-8.30799961', '-2.03500009']]

【讨论】:

  • 当你打印一个 numpy 数组时,它会很好地格式化数组而不用逗号。当您使用np.array 定义数组时,您必须使用逗号分隔元组中的项目。所以,是的,arr.astype('|S10') 应该适用于您的阵列。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-06-14
  • 1970-01-01
  • 2014-03-02
  • 2015-04-14
  • 2012-04-12
  • 2013-06-27
  • 2016-07-30
相关资源
最近更新 更多