簡體   English   中英

數據管道運行時出現ValueError Python function

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM