Устранение неполадок с функцией Pandas Apply с несколькими столбцами
При попытке применить функцию к нескольким столбцам в кадре данных Pandas с помощью функции Apply ', пользователи могут столкнуться с сообщением об ошибке, если имена столбцов не заключены в строки или если в функции возникает синтаксическая ошибка. определение.
Чтобы решить проблему с неопределенными именами, убедитесь, что имена столбцов указаны в одинарных или двойных кавычках. Например, вместо использования 'row[a]' используйте 'row['a']' или 'row["a"]'.
Кроме того, если функция, используемая в 'apply', включает в себя сложную операций или нескольких циклов, крайне важно проверить наличие синтаксических ошибок или отсутствующих операторов. Эти ошибки могут повлиять на выполнение функции и привести к неверным результатам или сообщениям об ошибках.
Рассмотрите следующий пример:
df = DataFrame({'a': np.random.randn(6),
'b': ['foo', 'bar'] * 3,
'c': np.random.randn(6)})
def my_test(row):
cum_diff = 0
for ix in df.index():
cum_diff = cum_diff (row['a'] - df['a'][ix])
return cum_diff
В этом примере сообщение об ошибке «IndexError: индекс вне диапазона» возникает из-за попытки доступа к несуществующим индексам во время цикла. Чтобы исправить это, убедитесь, что индексы находятся в пределах кадра данных, или используйте другой метод итерации, например:
def my_test(row):
cum_diff = 0
for index, value in df.iterrows():
cum_diff = (row['a'] - value['a'])
return cum_diff
Внимательно изучив функцию и заключив имена столбцов в строки, вы сможете эффективно решить проблемы и использовать функцию Apply с несколькими столбцами.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3