#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): имеет больше смысла, потому что тогда мне не пришлось бы жестко кодировать столбцы в области видимости, верно?