带有日期和时间的熊猫列-如何排序?

时间:2020-06-11 20:20:38

标签: python pandas

我已将多个csv files串联到one dataframe中,制成了combined csv file。但是columns中的一个在采用date格式后同时具有time(e.g 02:33:01 21-Jun-2018) converted to date_time。但是当我打电话

new_dataframe = old_dataframe.sort_values(by = 'Time')

它按时间对数据框进行排序,完全忽略了日期。

Index                   Time   Depth(ft)  Pit Vol(bbl)  Trip Tank(bbl)
189147  00:00:00 03-May-2018   2283.3578      719.6753         54.2079
3875    00:00:00 07-May-2018   5294.7308     1338.7178         29.5781
233308  00:00:00 20-May-2018   8073.7988      630.7964         41.3574
161789  00:00:01 05-May-2018    122.2710      353.6866         58.9652
97665   00:00:01 01-May-2018  16178.8666      769.1328         66.0688

如何使它按日期和时间排序,以便Aprils天先到chronological order天进来?

1 个答案:

答案 0 :(得分:2)

为了先对date进行排序,然后对time进行排序,Time列应以正确的方式Date followed by Time进行排序。目前正相反。

您可以这样做:

df['Time'] = df['Time'].str.split(' ').str[::-1].apply(lambda x: ' '.join(x))

df['Time'] = pd.to_datetime(df['Time'])

现在通过Time对df进行如下排序:

df.sort_values('Time')