Столбец DateTime в формате мм / дд / гггг, хотите дд / мм / гггг - PullRequest
0 голосов
/ 20 июня 2020

В конечном итоге я пытаюсь объединить разные фреймы данных из разных источников. Сами фреймы данных представляют собой временные ряды. У меня проблемы с одним набором данных. Первый столбец - DateTime. Исходные данные имеют временное разрешение 15 с, но в моем коде они повторно дискретизируются и усредняются для каждой минуты (это должно иметь такое же временное разрешение, как и другие мои наборы данных). Что я пытаюсь сделать, так это сделать этот ключ 0 для даты и времени, а затем объединить его по горизонтали с исходными данными. Я делаю это, потому что, когда я устанавливаю столбец индекса на DateTime, кажется, что этот столбец удаляется (когда я экспортирую как csv и открываю его в excel или распечатываю фрейм данных, этого столбца больше нет) и объединение 0 (или df1_DateTimes, как в приведенном ниже коде) к фрейму данных, кажется, повторно применяет эти потерянные данные. Ключ 0 генерируется автоматически, когда я запускаю df1_DateTimes, я думаю, что он просто делает заголовок столбца под названием 0.

Все входные данные datetime находятся в формате дд / мм / гггг ЧЧ: ММ. Однако, когда я делаю это "df1_DateTimes", время устанавливается в мм / дд / гггг ЧЧ: ММ. И длина столбца равна длине данных до повторной выборки. Мне интересно, знает ли кто-нибудь способ сделать это "df1_DateTimes" в формате дд / мм / гггг ЧЧ: ММ, и чтобы длина столбца была такой же, как и длина передискретизированных данных? Последнее не так важно, потому что у меня может быть просто куча пустых данных. Я пробовал такие вещи, как установка format = '% d% m% y% H:% M', но, похоже, это не сработало.

Или, если кто-нибудь знает, как пересчитать данные и не потерять DateTimes? И есть ли DateTimes с шагом в 1 минуту? Любая информация по любому из этого будет принята с благодарностью. Пока конечный результат представляет собой фрейм данных со значениями, повторно дискретизированными до каждой минуты, и столбец DateTime без изменений, с типом данных столбца DateTime как datetime64 (чтобы я мог объединить его с другими моими наборами данных). Я включил свой код ниже.

df1 = pd.read_csv('PATH',
                           

parse_dates=True, usecols=[0,7,10,13,28], 
                           infer_datetime_format=True, index_col='DateTime')

# Resample data to take minute averages

df1.dropna(inplace=True) # Drops missing values

df1=(df1.resample('Min').mean())

df1.to_csv('df1', index=False, encoding='utf-8-sig')

df1_DateTimes = pd.to_datetime(df1.index.values)

df1_DateTimes = df1_DateTimes.to_frame()

df1_DateTimes.to_csv('df1_DateTimes', index=False, encoding='utf-8-sig'`

Спасибо, что прочитали, и надеюсь на ответ.

1 Ответ

0 голосов
/ 20 июня 2020
import datetime
df1__DateTimes = k

k['TITLE OF DATES COLUMN'] = k['TITLES OF DATES COLUMN'].datetime.strftime('%d/%m/%y')

Думаю, использование приведенного выше фрагмента решит вашу проблему. Он назначает столбец даты отформатированной версии (дд / мм / гг) самого себя.

Подробнее о Kite docs

...