要保留NaN的情况下,将字符串替换为数值,可以使用try-except语句来捕获可能引发的ValueError异常,并在发生异常时返回NaN。
以下是一个示例代码:
def replace_string_with_number(string):
try:
number = float(string)
return number
except ValueError:
return float('nan')
# 示例用法
strings = ['1.2', '3.4', 'abc', '5.6']
numbers = [replace_string_with_number(s) for s in strings]
print(numbers)
输出结果:
[1.2, 3.4, nan, 5.6]
在这个示例中,replace_string_with_number()
函数尝试将字符串转换为浮点数。如果能成功转换,则返回转换后的数值;如果无法转换,则返回NaN。通过使用try-except语句,我们能够捕获到可能的ValueError异常,并在发生异常时返回NaN。