#python-3.x #pandas
#python-3.x #pandas
Вопрос:
У меня есть набор данных, скажем:
DateJoined Name Number DateLeft
11/03/2015 Tom 001199 11/03/2019
11/03/2016 Bil 001197 12/03/2019
11/03/2017 Mat 001196 13/03/2019
11/03/2018 Jon 001195 14/03/2019
Я хочу выбрать только столбцы, в которых есть дата, и изменить формат всех дат в этом столбце на месяц / дату / год.
Я уже пытался поиграть с подобным кодом, но он выдает ошибки.
date_cols=[col for col in dataset.columns if 'date' in col]
for col in dataset[date_cols]:
for row in dataset[date_cols]:
dataset[date_cols]=pd.to_datetime(dataset[date_cols]).dt.strftime('%d-%m-%Y')
next(row)
next(col)
Любая помощь была бы оценена. Я все еще новичок в pandas и python
Ответ №1:
Здесь вам не нужен цикл for — используя filter
s=df.filter(like='Date').apply(pd.to_datetime,dayfirst=True)
df[s.columns]=s
df
DateJoined Name Number DateLeft
0 2015-03-11 Tom 1199 2019-03-11
1 2016-03-11 Bil 1197 2019-03-12
2 2017-03-11 Mat 1196 2019-03-13
3 2018-03-11 Jon 1195 2019-03-14