Я довольно новичок в python и программировании. Таким образом, я все еще пишу некоторые общие служебные функции, которые позже планирую всегда использовать снова. В этом случае нужно извлечь каждую часть столбца datetime (год, месяц, день, час и т. Д. c.) И поместить его в новые столбцы. Чтобы убедиться, что разные столбцы даты и времени в фрейме данных не перепутаны, я хотел бы взять оригинальное имя столбца в новые столбцы. Я получил следующую функцию:
def datetime_to_cols(df, col_to_convert):
col_name_lst = list(df.columns)
i = col_name_lst.index(col_to_convert)
df[df[col_name_lst[i]]+'year'] = df[col_to_convert].dt.year
df[df[col_name_lst[i]]+'month'] = df[col_to_convert].dt.month
df[df[col_name_lst[i]]+'day'] = df[col_to_convert].dt.day
df[df[col_name_lst[i]]+'hour'] = df[col_to_convert].dt.hour
df[df[col_name_lst[i]]+'minute'] = df[col_to_convert].dt.minute
df[df[col_name_lst[i]]+'second'] = df[col_to_convert].dt.second
Но я получаю следующую ошибку:
datetime_to_cols(train, dateCreated)
datetime_to_cols(train, dateCreated)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-79-c5bd61d3b95b> in <module>
----> 1 datetime_to_cols(train, dateCreated)
NameError: name 'dateCreated' is not defined
dateCreated - имя столбца, который содержит метку времени в формате datetime в df train. Кто-нибудь может мне помочь?
Большое спасибо уже заранее!