熊猫不排序日期时间列?

时间:2021-06-09 00:08:27

标签: python pandas dataframe datetime

我有一个数据框:

df:
+-----+--------------+-------------------------+------------------------------+----------------------------------------------------+-------------+-------------+-------------+--------------+--------------+---------------------+
|     |   Unnamed: 0 | country                 | league                       | game                                               | home_odds   |   draw_odds |   away_odds |   home_score | away_score   | datetime            |
+=====+==============+=========================+==============================+====================================================+=============+=============+=============+==============+==============+=====================+
|   0 |            0 | Chile                   | Primera Division             | Nublense - A. Italiano                             | 2.25        |        3.33 |        3.11 |            1 | 0            | 2021-06-08 00:30:00 |
+-----+--------------+-------------------------+------------------------------+----------------------------------------------------+-------------+-------------+-------------+--------------+--------------+---------------------+
|   1 |            1 | China                   | Jia League                   | Zibo Cuju - Shaanxi Changan                        | 11.54       |        4.39 |        1.31 |          nan | nan          | 2021-06-08 08:00:00 |
+-----+--------------+-------------------------+------------------------------+----------------------------------------------------+-------------+-------------+-------------+--------------+--------------+---------------------+
|   2 |            2 | Algeria                 | U21 League                   | Medea U21 - MC Alger U21                           | 2.38        |        3.23 |        2.59 |          nan | nan          | 2021-06-08 09:00:00 |
+-----+--------------+-------------------------+------------------------------+----------------------------------------------------+-------------+-------------+-------------+--------------+--------------+---------------------+
|   3 |            3 | Algeria                 | U21 League                   | Skikda U21 - CR Belouizdad U21                     | 9.48        |        4.9  |        1.25 |          nan | nan          | 2021-06-08 09:00:00 |
+-----+--------------+-------------------------+------------------------------+----------------------------------------------------+-------------+-------------+-------------+--------------+--------------+---------------------+
|   4 |            4 | China                   | Jia League                   | Zhejiang Professional - Xinjiang Tianshan          | 1.2         |        5.92 |       12.18 |          nan | nan          | 2021-06-08 10:00:00 |
+-----+--------------+-------------------------+------------------------------+----------------------------------------------------+-------------+-------------+-------------+--------------+--------------+---------------------+

我已将 datetime 定义为 datetime

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

然后尝试对其进行排序

df.sort_values(by=['datetime'], ascending=True)

但是排序不起作用。

谁能帮我理解为什么?

Please find the entire dataframe here for reference.

附言由于字符限制,我无法在此处粘贴整个数据框。

1 个答案:

答案 0 :(得分:1)

我在评论中看到您已经找到了解决方案。在调用 df 后将 sort_values() 复制回自身意味着它的“新”名称是旧名称。

我会将此添加为答案。

df.sort_values(by=['datetime'], ascending=True, inplace=True)

然后它应该进行就地排序,因此您不必将其分配给自身。