Как перевернуть строку в 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. Преимущества данного формата:
- никогда не будет путаницы с форматами;
- такие данные можно правильно сортировать как строки
- это формат даты по умолчанию в Python, т.е. парсить такие данные можно не указывая формат даты
