У меня есть столбец в DataFrame с датами в формате yyyymmdd, и мне нужно постоянно его менять на yyyy-mm-dd.Как изменить формат даты в столбце dataframe.
Как я могу это сделать?
У меня есть столбец в DataFrame с датами в формате yyyymmdd, и мне нужно постоянно его менять на yyyy-mm-dd.Как изменить формат даты в столбце dataframe.
Как я могу это сделать?
С учетом информации, указанной в вашем комментарии, значения столбцов не могут быть в форме yyyy-mm-dd
, так как столбец dtype равен int64
.
Вы можете изменить столбец DTYPE быть str
, но данные не будут полезны (например, вы не сможете сделать любые финиковые расчеты по нему, хотя <
, >
должен работать, но лексически). Если это все-таки то, что вы хотите, и при условии, df
является dataframe и название дата столбца date
:
def format_date_col(x):
x = str(x)
return '-'.join([x[:4], x[4:6], x[6:]])
# or maybe like that for better readability:
x = str(x)
return '{year}-{month}-{day}'.format(year=x[:4], month=x[4:6], day=x[6:])
df['date'] = df['date'].apply(format_date_col)
Лучше было бы использовать дату фактического DTYPE:
from datetime import datetime
def format_date_col(x):
return datetime.strptime(str(x), '%Y%m%d')
df['date'] = df['date'].apply(format_date_col)
print df['date'].dtype
>> datetime64[ns]
ваш def format_date_col (x) делает именно то, что мне нужно. большое спасибо! – cJc
Что такое тип данных колонка? Что делает 'print df [] .dtype' показывает? –
DeepSpace
Это: приветствия int64. – cJc
См. Мой ответ .. – DeepSpace