Python 是否不对日期时间列进行排序?
我有一个数据帧:Python 是否不对日期时间列进行排序?,python,pandas,dataframe,datetime,Python,Pandas,Dataframe,Datetime,我有一个数据帧: df: +-----+--------------+-------------------------+------------------------------+----------------------------------------------------+-------------+-------------+-------------+--------------+--------------+---------------------+ | |
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)
但是,排序不起作用
有人能帮我理解为什么吗
p、 由于字符限制,我无法在此处粘贴整个数据帧。我在您已经找到解决方案的注释中看到。调用
sort\u values()
后将df
复制回自身意味着它的“新”名称是旧名称
我将补充这一点作为答案
df.sort_values(by=['datetime'], ascending=True, inplace=True)
然后它应该进行排序,这样您就不必将其分配给自己。您执行了
df=df.sort_值(by=['datetime'],ascending=True)
而您只是复制了命令,或者您没有使用返回的排序数据框更新变量?我不理解sort_值(默认情况下)返回值已排序的新数据帧。所以我确认你对那份整理好的副本做了些什么。比如,用它更新df
变量。啊哈!所以我必须引用它为df=df.sort_值(by=['datetime',ascending=True)
对吗?是的。真管用!我真傻。非常感谢。你什么意思<代码>对值进行排序返回一个值。您可以像使用任何返回值的函数一样使用它<代码>新建df=df.sort\u值…,df=df.sort\u值…
打印(df.sort\u值…
等。