Python 如何将浮点字符串转换为整数字符串?
我有一个浮点数(显示为字符串)和NaN值的列表Python 如何将浮点字符串转换为整数字符串?,python,numpy,Python,Numpy,我有一个浮点数(显示为字符串)和NaN值的列表 import numpy as np mylist = ['1.0', '0.0', np.nan, 'a'] 我需要将浮点字符串值转换为整数字符串值,同时忽略其余记录: mylist = ['1', '0', np.nan, 'a'] 我怎么做 我编写了以下代码,但我不知道如何处理异常np.nan,a,等等 mylist2 = [] for i in mylist: mylist2.append(str(int(float(n))))
import numpy as np
mylist = ['1.0', '0.0', np.nan, 'a']
我需要将浮点字符串值转换为整数字符串值,同时忽略其余记录:
mylist = ['1', '0', np.nan, 'a']
我怎么做
我编写了以下代码,但我不知道如何处理异常np.nan
,a
,等等
mylist2 = []
for i in mylist:
mylist2.append(str(int(float(n))))
尽管有不同的方法来实现这一点。但我们走你的路。
这可能会有帮助
mylist2 = []
for i in mylist:
try:
mylist2.append(str(int(float(n))))
except:
pass
假设您只想在原始值不是可以转换为整数的数字字符串时使用它们,您可以编写一个帮助函数来尝试进行转换,并在引发异常时返回原始值
def try_int(s):
尝试:
返回str(int(float(s)))
除:
返回s
mylist2=[在mylist中为s尝试整数]
请注意,从浮点字符串到int的转换有时会使字符串更长;例如,字符串
'9e200'
将被转换为201位的整数字符串。您可以使用调用函数的映射将其转换为整数:
def to_int(x):
try:
x = str(int(float(x)))
except:
pass
return x
np.array(list(map(to_int, mylist)), dtype=object)
# array(['1', '0', nan, 'a'], dtype=object)```
那么,对于NaN、无穷大或非整数字符串,您希望发生什么?这是为了什么?看起来有点奇怪,不是吗?@kaya3他说他想忽略记录的其余部分。但“忽略”是什么意思?让它们保持原样,删除它们,或者做其他事情?你是如何获得数据的?你能在创建数组之前修复它吗?