создать повторно используемую функцию для преобразования типов данных в нескольких столбцах pandas

#python #python-3.x #pandas

#python #python-3.x #pandas

Вопрос:

иногда я испытываю трудности с созданием повторно используемых функций специально здесь для отдельных подмножеств столбцов… любой совет здесь? Спасибо!

у меня есть некоторые переменные категории, числовые переменные и целевой параметр dep для классификации… хотите создать какой-то udf вместо вызова кода ниже… есть идеи?

 cat_type = lambda x: x.astype("category")
df__[CAT_FEATURES] = df__[CAT_FEATURES].apply(cat_type, axis=0).copy()
num_type = lambda x: x.astype("float")
df__[CON_FEATURES] = df__[CON_FEATURES].apply(num_type, axis=0).copy()
target_type = lambda x: x.astype("category")
df__[TARGET] = df__[TARGET].apply(target_type, axis=0).copy()
 

цель состоит в том, чтобы создать повторно используемую функцию для применения к cols для динамического изменения их типов данных

Комментарии:

1.Ваш вопрос не совсем ясен: каковы входные данные для вашей функции? Если вы ищете что-то, что вы можете динамически применять к разным столбцам в разных фреймах данных для преобразования в разные типы, то astype() это решение.

2. то, что у меня работает, однако я хотел попытаться сделать что-то более автоматизированное с помощью функции def(..)

3. Я понимаю эту часть того, что вы пытаетесь сделать. Мой уточняющий вопрос касался того, какими вы хотите видеть входные данные в вашей функции, и какова ожидаемая область действия? Именованные столбцы в? именованные столбцы и типы в? def fix_types(df,cat_cols,num_cols,time_cols): или def fix_types(df):#and let the function sort out which is which

4. хммм … я действительно думаю, что def fix_types(df, cat_cols,num_cols,time_cols): имеет больше смысла, потому что тогда мне не пришлось бы жестко кодировать столбцы в области видимости, верно?