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

xti*_*ian 15 python sorting dataframe pandas

熊猫新手,也许我错过了一个大创意?我有一个Pandas DataFrame的寄存器事务,其形状如下(500,4):

Time              datetime64[ns]
Net Total                float64
Tax                      float64
Total Due                float64
Run Code Online (Sandbox Code Playgroud)

我正在使用Python3 Jupyter笔记本中的代码.我无法通过排序任何列.通过不同的代码示例进行排序,我在检查df时没有看到输出重新排序.所以,我把问题简化为尝试只订购一列:

df.sort_values(by='Time')
# OR
df.sort_values(['Total Due'])
# OR
df.sort_values(['Time'], ascending=True)
Run Code Online (Sandbox Code Playgroud)

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

我以为这可能是一个Jupyter的事情,我已经使用预览的结果print(df),df.head()HTML(df.to_html())(最后一个例子是Jupyter笔记本电脑).我还将整个笔记本从导入CSV重新运行到此代码.而且,我也是Python3的新手(从2.7开始),所以我有时会陷入困境,但我不知道在这种情况下它是如何相关的.

另一篇文章有类似的问题,Python pandas dataframe sort_values不起作用.在那种情况下,排序是在列类型上string.但正如您所看到的,这里的所有列都是明确可排序的.

为什么我的Pandas DataFrame不显示新订单sort_values

Max*_*axU 42

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

所以明确地做:

df = df.sort_values(['Total Due'])
Run Code Online (Sandbox Code Playgroud)

要么

df.sort_values(['Total Due'], inplace=True)
Run Code Online (Sandbox Code Playgroud)