Dataframe Sort Furture警告-尝试按sort_values()进行排序

时间:2019-11-26 20:05:33

标签: python pandas

我有一个名为OutputDf的数据框,如下所示:

            Date  Last Price           Type
1928  02/07/2010        0.00  missing value
1952  31/05/2010         NaN  missing value
1972  03/05/2010         NaN  missing value
2048  13/01/2010        0.00  missing value
659   10/06/2015      402.70        outlier
1020  13/01/2014      471.15        outlier
1309  23/11/2012      492.14        outlier
1698  26/05/2011      404.99        outlier
2057  30/12/2009      476.86        outlier

我正在使用Date字段对数据框进行排序,

OutputDf = OutputDf.ix[pd.to_datetime(OutputDf.Date).order().index]

但是我将来会收到警告:

FutureWarning: order is deprecated, use sort_values(...)

我已尝试通过实现以下建议更改为使用sort_values():

OutputDf = OutputDf.sort_values("Date", ascending = True, 
                 inplace = True) 

但是我得到了None的返回。

所需的输出将按日期(升序)进行排序,如下所示:

              Date  Last Price            Type
2057    30/12/2009      476.86         outlier
2048    13/01/2010           0  missing values
1972    03/05/2010         NaN  missing values
1952    31/05/2010         NaN  missing values
1928    02/07/2010           0  missing values
1698    26/05/2011      404.99         outlier
1309    23/11/2012      492.14         outlier
1020    13/01/2014      471.15         outlier
659     10/06/2015       402.7         outlier

请让我知道如何正确实现sort_values

亲切的问候

1 个答案:

答案 0 :(得分:1)

您的问题在这里:

OutputDf = OutputDf.sort_values("Date", ascending = True, 
             inplace = True) 

设置参数inplace = True时,它将在调用该函数的实际对象上进行更改,并返回 None

所以基本上,您要做的是对数据帧进行排序,然后将None的返回值初始化回自己。

您可以通过删除inplace=True

来解决此问题