#python #pandas #dataframe
#python #pandas #фрейм данных
Вопрос:
При попытке изменить несколько столбцов на один и тот же тип данных одновременно, столбцы содержат данные о времени, такие как часы, минуты и секунды, например, и данные
и я не могу изменить сразу несколько столбцов на использование pd.to_datetime
только формата времени, мне не нужна дата, потому что, если я это сделаю pd.to_datetime
, дата также будет добавлена в столбец, который не требуется, просто нужно время, как преобразовать столбец в DateTime и сохранить время только в формате времени.столбец
Комментарии:
1. У вас не может быть столбца DateTime, в котором указано только время.
Ответ №1:
Во-первых, в pandas / python не может быть datetime, в котором указано только время.
Итак
Поскольку время python является объектом в pandas, преобразуйте все столбцы в datetimes (но есть и даты):
cols = ['Total Break Time','col1','col2']
df[cols] = df[cols].apply(pd.to_datetime)
Или преобразование столбцов в timedeltas, это выглядит как похожие времена, но возможна работа с помощью методов, подобных datetimelike в pandas:
df[cols] = df[cols].apply(pd.to_timedelta)
Ответ №2:
Вы можете выбрать только time
, как показано ниже:
import time
df['Total Break Time'] = pd.to_datetime(df['Total Break Time'],format= '%H:%M:%S' ).dt.time
Затем вы можете повторить это для всех своих столбцов, как я полагаю, вы уже делаете.
Загвоздка в том, чтобы преобразовать datetime
, а затем выбрать только то, что вам нужно.
Комментарии:
1. даже после этого тип данных по-прежнему остается объектом
2. @SanchayBhargava — Да, это ожидаемо, время — это объект в pandas
3. Я думал, что буду отображать DateTime как тип данных, спасибо @jezrael
4. @SanchayBhargava вы хотите, чтобы это была строка или что-то в этом роде? Каким вы хотите, чтобы тип данных был?
5. @jezrael что, если у меня есть фрейм данных с 450 столбцами, содержащими объекты datetime? Если я делаю df[‘col’].dt.time, это работает, но если я делаю df.dt.time или df.values.dt.time, я получаю ошибки (ошибка 1: у объекта ‘DataFrame’ нет атрибута ‘dt’ ошибка 2: у объекта ‘numpy.ndarray’ нет атрибута ‘dt’).атрибут ‘dt’)