Python Astropy:字符串到整数转换

时间:2014-04-09 15:59:31

标签: python decode encode astropy

我有一个星座表 input_table ,其字段/列' observation_id' ,其中包含 81-126 。我希望将两个数字(81和126)分开并将它们保存为整数。我正在写这里的所有步骤,以显示我在每一步的对象类型。如果不清楚,请告诉我。

In [62]: id=input_table['observation_id']

In [63]: str=id[0]

In [64]: print(str)
81-126

In [65]: print(type(str))
<class 'numpy.str_'>

In [66]: nx,ny=str.split("-")

In [67]: print(nx,ny)
81 126

In [68]: print(type(nx),type(ny))
<class 'str'> <class 'str'>

当我执行以下操作将字符串转换为整数时,

In [70]: int(float(nx))

我明白了:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-70-7cfc33470a5c> in <module>()
----> 1 int(float(nx))

ValueError: could not convert string to float: '8\x00\x00\x001\x00\x00\x00'

查看链接 for the type of string '8\x00\x00\x001\x00\x00\x00'

我试过

In [71]: nx,ny=str.decode(encode='utf-16-le').split('-')

但是我得到了

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-71-5f8d49af6ed1> in <module>()
----> 1 nx,ny=str.decode(encode='utf-16-le').split('-')

AttributeError: 'numpy.str_' object has no attribute 'decode'

我不知道如何继续前进。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

我无法使用numpy 1.7在Python 2.7或3.3中重现您的示例。您能否提供有关版本和平台的更多细节?

有一点是您使用str作为重载内置str类型的变量。我认为这不是一个直接的问题,但一般来说肯定不是一个好主意。