[英]ValueError when running Python function in data pipeline
我正在使用 Python 构建数据管道,在尝试执行某个 function 时遇到问题。我收到的错误消息是: ValueError: Could not convert string to float: 'N/A'
这是有问题的 function:
def process_data(data):
for item in data:
# Do some processing...
value = float(item[1])
if value > 0:
processed_item = process_item(item)
yield processed_item
我这样呼叫 function:
data = [('A', '1.5'), ('B', '2.7'), ('C', 'N/A'), ('D', '4.1'), ('E', '5.9')]
processed_data = process_data(data)
代码:
def process_data(data):
for item in data:
# Do some processing...
value = float(item[1])
if value > 0:
processed_item = process_item(item)
yield processed_item
data = [('A', '1.5'), ('B', '2.7'), ('C', 'N/A'), ('D', '4.1'), ('E', '5.9')]
processed_data = process_data(data)
错误信息:
ValueError: Could not convert string to float: 'N/A'
预期结果是处理数据列表中的项目,如果项目的值大于 0,则返回处理后的项目。
float(parameter)
的参数值必须是数字或者是可以转为浮点数的字符串。
无法转换值“N/A” ,因为它不是数字。
你可以试试:
try:
value = float(item[1])
except ValueError:
value = 0
假设您希望任何不是数字的东西都变成零,然后将被您的if value > 0:
语句过滤掉。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.