我有一个星座表 input_table ,其字段/列&#39; observation_id&#39; ,其中包含 81-126 < STRONG>。我希望将两个数字(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'
我不知道如何继续前进。有人可以帮忙吗?
答案 0 :(得分:0)
我无法使用numpy 1.7在Python 2.7或3.3中重现您的示例。您能否提供有关版本和平台的更多细节?
有一点是您使用str
作为重载内置str
类型的变量。我认为这不是一个直接的问题,但一般来说肯定不是一个好主意。