Преобразование заданного квартала в pandas - PullRequest
2 голосов
/ 19 марта 2020

У меня небольшая проблема. У меня есть фрейм данных практики (все еще изучающий) с coulmn, в котором определены год и кварталы, например,

 Date       Column2      Column3
   2004 Q-1    Other data   Other data
   2004 Q-2    Other Data   Other data

до 2019 года. Pandas видит это как объект, и я пытался преобразовать на сегодняшний день и за квартал.

Я пытался:

df['Date'] = df['Date'].str.replace(' Q-', '').astype(int), который дал ошибку

invalid literal for int() with base 10: '2019 4'

df['Date'] = df.ddate.dt.to_period("Q") но мой df не У меня нет атрибута ddate

df['Date'] = pd.to_datetime(df['Date'], format='%Y %q') с ошибкой:

'q' is a bad directive in format '%Y %q'

В настоящее время у меня нет идей, как преобразовать это, чтобы pandas мог прочитать это как кварталы в год.

1 Ответ

1 голос
/ 20 марта 2020

Вы не были такими явными. Вы хотите извлечь дату из квартала года? Похоже, это вероятно. Если это так, пожалуйста, моя попытка ниже. Если нет, уточните, чтобы получить помощь. Постарался сделать его читаемым (я читатель энтузиастов кода, люблю демистифицировать кодирование :-));

data['Date'] = data['Date'].str.replace(r'-','')

enter image description here

data['Date'] = data['Date'].str.replace(' ',r'')

enter image description here

data['Date']=pd.to_datetime(data['Date'])

enter image description here

При желании EndMonth:

data.set_index('Date', inplace=True)
data['EndMonth']= data.index.to_period('M').to_timestamp('M')

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...