Форматирование данных панд - PullRequest
0 голосов
/ 22 ноября 2018

Я пытаюсь ввести строку кода, которая создает строку для индекса 31'st January 1995.Я не могу получить строку, похожую на 31/01/1995, и вместо этого вывод 1995-01-31 00:00:00.

Мои исходные данные в кадре данных с именем MainData

Я пытаюсь добавить строку вверху 31 января 1995 года в том же формате, что и данные ниже.

enter image description here

Мой код

MainData.loc[pd.to_datetime('31/01/1995',format='%d/%m/%Y'),:] = [100 for number in range(7)]
MainData

enter image description here

Пожалуйста, сообщитеЯ знаю, если есть способ переформатировать это в 31/01/1995.

Заранее спасибо.

1 Ответ

0 голосов
/ 23 ноября 2018
#Making the data look more normal by removing the first column index level
MainData = MainData.rename(columns=MainData.iloc[0])
MainData = MainData.iloc[1:]
#Re-adjusting the Index to a datetime format
MainData['DateAdjusted'] = MainData.index
MainData = MainData.reset_index(drop=True)
MainData['DateAdjusted'] = pd.to_datetime(MainData['DateAdjusted'],dayfirst=True)

#Just renaming the Column and converting the index back to Date
MainData.rename(columns={'DateAdjusted':'Date'},inplace=True)
MainData.index = MainData['Date']
del MainData['Date']

#Defining the date for the row I want to add
InitialDate = "31/01/1995"
format_str = '%d/%m/%Y' 
datetime_obj = datetime.datetime.strptime(InitialDate, format_str)
print (datetime_obj.date())

MainData.loc[datetime_obj,:] = [100 for number in range(7)]
MainData = MainData.sort_index(ascending=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...