#python #pandas #list #function #dataframe
#python #pandas #Список #функция #фрейм данных
Вопрос:
Как я могу создать функцию в python, где в одном из параметров у меня будет возможность реализовать список переменных фрейма данных?
Например, у меня есть фрейм данных, как показано ниже:
df = pd.DataFrame({"TARGET" : [1,0,1],
"age" : [22, 54, 67],
"power" : [100, 200, 345],
"height" : [180, 190, 178]})
И, например, у меня есть функция:
def my_function(data, variables, target_variable):
.....
И в:
- данные — я хотел бы реализовать свой фрейм данных (df)
- target_variable — я хотел бы использовать целевую переменную моего фрейма данных («TARGET»)
- переменные — список выбранных переменных из фрейма данных, например («возраст» и «мощность»)
my_function(df, [«возраст», «мощность»], «ЦЕЛЬ») — не работает
Комментарии:
1. Можете ли вы объяснить немного больше о том, что вы хотите сделать
my_function
? Я не уверен, что вы подразумеваете под «Я хотел бы реализовать целевую переменную моего фрейма данных». Пример очень помог бы2. Вопрос прост, как я могу реализовать список переменных из моего фрейма данных в одном из параметров моей функции (переменных)?
3. Что для вас означает «реализовать список переменных»? «a = 1; b = 2» реализует список переменных. Вы имеете в виду, что хотите, чтобы ваша функция действовала на разные столбцы в вашем фрейме данных на основе имен, которые вы предоставляете в качестве аргументов для вызова вашей функции?
Ответ №1:
что-то в этом роде:
df.apply(my_function)
где
def my_function(x):
x['age']
x['power']
x['height']
x['TARGET']
return x
после того, как вы передаете строку, вы выполняете операции с каждой строкой, вызывая свои данные, как указано выше. Смотрите apply() и groupby() для передачи данных в функции