[解決済み] Python pandasでdataFrameを2つ以上のカラムでソートするにはどうすればよいですか?
2022-03-24 18:52:49
質問
列を持つデータフレームがあるとします。
a
,
b
と
c
で、データフレームをカラムでソートしたい。
b
で昇順、カラム
c
を降順で表示するには、どうすればよいのでしょうか?
どのように解決するのですか?
0.17.0リリース時点では
sort
メソッドは非推奨となり、代わりに
sort_values
.
sort
は、0.20.0 リリースで完全に削除されました。引数(と結果)はそのままです。
df.sort_values(['a', 'b'], ascending=[True, False])
の昇順引数を使用することができます。
sort
:
df.sort(['a', 'b'], ascending=[True, False])
例えば
In [11]: df1 = pd.DataFrame(np.random.randint(1, 5, (10,2)), columns=['a','b'])
In [12]: df1.sort(['a', 'b'], ascending=[True, False])
Out[12]:
a b
2 1 4
7 1 3
1 1 2
3 1 2
4 3 2
6 4 4
0 4 3
9 4 3
5 4 1
8 4 1
コメント:@renadeen さんのように
ソートはデフォルトでは定位置にありません。そのため、ソートメソッドの結果を変数に代入するか、メソッド呼び出しにinplace=Trueを追加する必要があります。
というのは、df1をソートされたDataFrameとして再利用したい場合です。
df1 = df1.sort(['a', 'b'], ascending=[True, False])
または
df1.sort(['a', 'b'], ascending=[True, False], inplace=True)
関連
-
[解決済み】ImportError: PILという名前のモジュールがない
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] Pandasのカラム名のリネーム
-
[解決済み] Pandas DataFrameからカラムを削除する
-
[解決済み] データフレームの行を複数の列でソート(並び替え)する。
-
[解決済み] 既存のDataFrameに新しい列を追加する方法は?
-
[解決済み】オブジェクトの配列をプロパティ値でソートする
-
[解決済み】Pandas DataFrameのカラムヘッダからリストを取得する。
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python関数の高度な応用を解説
-
Pythonによるjieba分割ライブラリ
-
Pythonの学習とデータマイニングのために知っておくべきターミナルコマンドのトップ10
-
Python LeNetネットワークの説明とpytorchでの実装
-
[解決済み】ImportError: sklearn.cross_validation という名前のモジュールがない。
-
[解決済み】DataFrameのコンストラクタが正しく呼び出されない!エラー
-
[解決済み] _tkinter.TclError: 表示名がなく、$DISPLAY環境変数もない。
-
[解決済み】なぜ「LinAlgError: Grangercausalitytestsから「Singular matrix」と表示されるのはなぜですか?
-
[解決済み】終了コード -1073741515 (0xC0000135)でプロセス終了)
-
[解決済み】Pythonでgoogle APIのJSONコードを読み込むとエラーになる件