如何按大熊猫的时间戳排序?

J D*_*Doe 7 python sorting datetime dataframe pandas

所以,我的时间戳如下所示:

20140804:10:00:13.281486

20140804:10:00:13.400113

20140804:10:00:13.555512

20140804:10:00:13.435677
Run Code Online (Sandbox Code Playgroud)

我把它们放在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])
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏.

mir*_*ulo 7

您只需要确保正确表示格式规范,并且可以使用pd.to_datetime它们将它们转换为实际的日期时间sort_values.

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

这比分解组件中的时间戳和执行多标准排序要直接得多.

演示

>>> 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]
Run Code Online (Sandbox Code Playgroud)