Как перевернуть строку в pandas?

Есть датасет с колонкой Time https://drive.google.com/open?id=1h1S5ubz2T2mwPaK4WAzrnbJqmV8Ui9Ei

Как в столбце Time вместо '2017.01.07' сделать '07.01.2017', то есть перевернуть строку?

Исходник

         Time   Con     y   Sum
0   2017.01.07  337.0   0   0.0
1   2017.03.07  334.0   3   77.4
2   2017.04.07  303.0   31  863.4
3   2017.05.07  253.0   50  1370.0
4   2017.06.07  250.0   3   82.2
... ... ... ... ...
541 2019.12.25  87.0    8   232.0
542 2019.12.26  85.0    2   54.0
543 2019.12.30  71.0    14  300.0
544 2020.09.01  25.0    46  1334.0
545 2020.10.01  23.0    2   38.0

После to_datetime что получается:

введите сюда описание изображения


Ответы (1 шт):

Автор решения: MaxU

проще всего спарсить этот столбец в datetime64 и потом преобразовать это в строку нужного вам формата:

col = "date_col_name"
df[col] = pd.to_datetime(df[col], errors="coerse")

df[col] = df[col].dt.strftime("%d.%m.%Y")

PS исходный и целевой формат даты распространяются еа весь dataset.Судя по комментарию, у вас исходные данные уже "поломаны" и чинить их надо в том месте где они ломаются. Делать это на более поздних этапах - слишком трудоемкая задача.

PPS на будущее - если вы храните временные данные в текстовом виде (например в CSV), то всегда сохраняйте временные данные в формате yyyy-mm-dd. Преимущества данного формата:

  1. никогда не будет путаницы с форматами;
  2. такие данные можно правильно сортировать как строки
  3. это формат даты по умолчанию в Python, т.е. парсить такие данные можно не указывая формат даты
→ Ссылка