如何对熊猫中的时间值进行排序

时间:2018-12-14 00:55:32

标签: python pandas pandas-groupby

我使用以下代码来获取数据框分组表

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-13 09: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)

我收到错误类型错误:'int'和'str'的实例之间不支持'>' 再次感谢您对我的帮助

1 个答案:

答案 0 :(得分:0)

splunk_query_mins可能是错误的dtype-很有可能是object。我认为您首先需要将splunk_query_mins转换为datetime。请参阅this SO post,其中显示了您可能要尝试做的事情。

可能需要这样的东西

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),那么您必须尝试类似{{ 3}}-将.ix替换为.loc