Я хочу заменить отсутствующие значения (None) на последнее предыдущее известное значение. Это мой код. Но это не сработает. Любые предложения для лучшего алгоритма?Подстановка недостающих значений в Python
t = [[1, 3, None, 5, None], [2, None, None, 3, 1], [4, None, 2, 1, None]]
def treat_missing_values(table):
for line in table:
for value in line:
if value == None:
value = line[line.index(value)-1]
return table
print treat_missing_values(t)
Что вы подразумеваете под «прошлым предыдущим известным значением»? Вы имеете в виду предыдущее значение, отличное от None, в текущем списке («строка»)? Что, если каждое предыдущее значение в текущем списке равно None? Использовать последнее значение предыдущего списка («строка»)? И что, если первое значение - None? –
Нет, просто сохраняя None, если в строке нет предыдущего значения. Данные раздельные. Я видел проблему, но не хотел усложнять вопрос. – Randomtheories
** См. Также: ** https://stackoverflow.com/questions/20248355/how-to-get-python-to-gracefully-format-none-and-non-existing-fields – dreftymac