@yar075

Как отобразить топ 10 записей в датасете pandas, которые требовали самого длительного времени исправления?

Есть датафрейм Pandas. Нужно отсортировать записи по количеству времени потраченому на исправление бага (время на исправление считается вычетанием из поля resolved поля created). Я понял что сначала надо перевести поля с датой в другой формат, но выдаёт ошибку. Пробовал вот так
date_cols = ['updated', 'created', 'resolved']
df[date_cols] = df[date_cols].astype('datetime64')


Дата хранится в таком формате: 2016-04-11T16:35:57.000+0000
Нужно перевести её в приемлемый для pandas формат, что бы можно было выполнять различные операции с датами.
  • Вопрос задан
  • 62 просмотра
Решения вопроса 2
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Это дата-время в формате ISO 8601. В панду наверное лучше грузить таймстемп.
Здесь - https://pynative.com/python-iso-8601-datetime/
И можно попробовать для панды так
df['Time'] = pd.to_datetime(df['Time'], format="%Y-%m-%dT%H:%M:%S.%f", errors = 'coerce')


Ну и https://pandas.pydata.org/docs/reference/api/panda...
Ответ написан
Комментировать
Maksim_64
@Maksim_64
Data Analyst
df['updated'] = pd.to_datetime(df['updated'],errors='coerce' )
df['created'] = pd.to_datetime(df['created'],errors='coerce' )
df['resolved'] = pd.to_datetime(df['resolved'],errors='coerce')

Это сработает, единственное, в этих колонках кое где есть значения которые он не может распарсить, c этим ничего сделать нельзя посредством pandas. Если они нужны то это отдельно писать парсер для них и изучать каждый кейс. Поэтому для этих кейсов я добавил параметр errors='coerce' там где он не может распарсить он добавил nat. Ну и манипуляции с датами сами я так понял что проблема привести в нужный формат что бы весь мощный функционал pandas был доступен.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
26 апр. 2024, в 10:01
500 руб./за проект
26 апр. 2024, в 09:18
500 руб./в час
26 апр. 2024, в 06:46
1500 руб./в час