Я создаю программу, которая ищет ячейку в крайнем правом столбце, содержащем ненулевое число с плавающей точкой.
Вот раздел, который вызывает вспомогательную функцию и применяет ее к каждой строке:
for index, row in supplier.iterrows():
if row[2] not in storage["Product"] and not pd.isnull(row[2]):
if find_most_recent(j, supplier) != 0:
storage["Product"].append(row[2])
storage["Most Recent Price"].append(find_most_recent(j,
supplier))
j += 1
Вот вспомогательная функция, которая делает то, что я объяснил выше:
def find_most_recent(row_num: int, df) -> float:
k = -1
checker = False
while not checker and k > -len(df.columns):
if "final cost" in df.columns[k]:
if not pd.isnull(df.iloc[row_num, k]): #and df.iloc[row_num, k] > 0:
checker = True
return df.loc[row_num, df.columns[k]]
k -= 1
По какой-то причине добавление закомментированной части df.iloc[row_num, k] > 0
дает мне
TypeError: «float» не повторяется.
Работает нормально без ошибок (только не так, как я хочу) без этой части.
Я знаю, что это очень часто задаваемый вопрос, но я пробовал и пытался и не могу понять, что не так, поскольку я явно не пытаюсь перебрать поплавок?
Заранее спасибо, ребята.