Как отсортировать значения времени в пандах - PullRequest
0 голосов
/ 14 декабря 2018

Я использовал следующий код для получения таблицы групповой структуры данных

df1=df.groupby(['timestampEpochSecond'],sort=True)['metricValue'].sum().sort_values(ascending=False)
df_summary=pd.Series.to_frame(df1)

df_summary.reset_index(inplace=True)
df_summary.rename(index=str,columns=    {'timestampEpochSecond':'splunk_query_mins'},inplace=True)
df_summary

Таблица похожа на

splunk_query_mins

metricValue

0 2018-12-13 06:41 1200,0

1 2018-12-13 06:07 238,0

2 2018-12-13 06:47 42,0

3 2018-12-1309:54 14,0

4 2018-12-13 16:40 10,0

5 2018-12-12 21:30 5,0

6 2018-12-13 08:12 3,0

7 2018-12-13 01:11 3,0

8 0 0,0

Однако, когда я использовал

df1.sort_values(by=''splunk_query_mins',ascending=True)

, я получилerror TypeError: '>' не поддерживается между экземплярами 'int' и 'str' Опять же, большое спасибо за помощь

1 Ответ

0 голосов
/ 14 декабря 2018

Возможно, что столбец splunk_query_mins имеет неправильный dtype - скорее всего, object.Я думаю, вам сначала нужно конвертировать splunk_query_mins в datetime.См. этот пост SO , в котором показано, что вы, возможно, пытаетесь сделать.

Вероятно, требуется что-то вроде этого

df1['splunk_query_mins'] = pd.to_datetime(df1.splunk_query_mins)
df1.sort_values(by='splunk_query_mins', ascending=True)

РЕДАКТИРОВАТЬ: Если по какой-то причине,Вы хотите сохранить столбец splunk_query_mins как object (вместо того, чтобы изменить его на datetime), затем вам нужно попробовать что-то вроде this - заменить .ix на .loc.

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