Как реализовать список переменных для работы из фрейма данных в Python Pandas?

#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() для передачи данных в функции