如何按pandas的时间戳排序?

因此,我的时间戳如下所示:

20140804:10:00:13.281486

20140804:10:00:13.400113

20140804:10:00:13.555512

20140804:10:00:13.435677

我将它们放在DataFrame中,并且尝试按升序对其进行排序。我尝试了以下方法。但是,它似乎不起作用

df['yyyymmdd'] = pd.to_numeric(df['yyyymmdd'], errors='coerce')

df['hh'] = pd.to_numeric(df['hh'], errors='coerce')

df['mm'] = pd.to_numeric(df['mm'], errors='coerce')

df['ss'] = pd.to_numeric(df['ss'], errors='coerce')

df=df.sort(['yyyymmdd', 'hh','mm','ss'], ascending=[True, True,True,True])

任何帮助表示赞赏。

回答:

您只需要确保正确表示格式规范,就可以将pd.to_datetime其转换为之前的 实际

日期时间sort_values

pd.to_datetime(stamps, format="%Y%m%d:%H:%M:%S.%f").sort_values()

这比分解组件中的时间戳并按照您的尝试执行多准则排序要直接得多。

>>> stamps

0 20140804:10:00:13.281486

1 20140804:10:00:13.400113

2 20140804:10:00:13.555512

3 20140804:10:00:13.435677

dtype: object

>>> pd.to_datetime(stamps, format="%Y%m%d:%H:%M:%S.%f").sort_values()

0 2014-08-04 10:00:13.281486

1 2014-08-04 10:00:13.400113

3 2014-08-04 10:00:13.435677

2 2014-08-04 10:00:13.555512

dtype: datetime64[ns]

以上是 如何按pandas的时间戳排序? 的全部内容, 来源链接: utcz.com/qa/420564.html

回到顶部