为什么我的Pandas DataFrame不使用`sort_values`显示新订单?

发布于 2021-01-29 19:35:41

Pandas的新手,所以也许我错过了一个大主意?我有一个形状如下的注册交易的Pandas DataFrame (500,4)

Time              datetime64[ns]
Net Total                float64
Tax                      float64
Total Due                float64

我正在使用 Python3 Jupyter笔记本 完成代码。我无法对 任何
列进行排序。通过不同的代码示例进行排序,检查df时看不到输出重新排序。因此,我将问题简化为仅尝试订购一列:

df.sort_values(by='Time')
# OR
df.sort_values(['Total Due'])
# OR
df.sort_values(['Time'], ascending=True)

无论我使用哪个列标题或哪个布尔参数,显示的结果都不会改变顺序。

我以为这可能是一个Jupyter的事情,我已经使用预览的结果print(df)df.head()HTML(df.to_html())(最后一个例子是Jupyter笔记本电脑)。我也将整个笔记本从导入CSV重新运行到此代码。而且,我也是Python3的新手(从2.7开始),因此有时会遇到这种情况,但是在这种情况下我看不出它有什么意义。

关注者
0
被浏览
61
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    df.sort_values(['Total Due']) 返回已排序的DF,但不会就位更新DF。

    因此,请明确地执行此操作:

    df = df.sort_values(['Total Due'])
    

    要么

    df.sort_values(['Total Due'], inplace=True)
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看