パンダは初めてなので、大きなアイデアが足りないのではないでしょうか?私はPandas _(500,4)
_のような形状のレジスタトランザクションのDataFrameを持っています:
_Time datetime64[ns]
Net Total float64
Tax float64
Total Due float64
_
Python3 Jupyter Notebookでコードを処理しています。 any列をソートして過去を取得できません。並べ替えのさまざまなコード例を使用すると、dfを調べても出力の並べ替えが表示されません。したがって、問題を1列だけで注文するように減らしました。
_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以降)も初めてなので、時々それで行き詰まりますが、この場合、それがどのように関連しているかはわかりません。
別の投稿にも同様の問題があります Python pandas dataframe sort_values not work 。Inそのインスタンスでは、順序は列タイプstring
でしたが、ご覧のとおり、ここにあるすべての列は明確にソート可能です。
Pandas DataFrameが_sort_values
_を使用して新しい注文を表示しないのはなぜですか?
df.sort_values(['Total Due'])
は、ソートされたDFを返しますが、DFは更新されません。
したがって、明示的に行います。
df = df.sort_values(['Total Due'])
または
df.sort_values(['Total Due'], inplace=True)
私の問題であるfyiは、結果のデータフレームを返さなかったため、PyCharmがそのデータフレームを更新することに煩わされていませんでした。 returnキーワードの後にデータフレームに名前を付けると、問題が修正されました。
編集:return
は私の明示的なにもかかわらず更新されていなかったため、return df
ではなく、メソッドの最後にdf
がありました。 -場所の並べ替え。