0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

(小ネタ)pandas.DataFrameでワンライナーで列名順に列をソートする

0
Last updated at Posted at 2020-05-22

pandasのDataFrameで、列を「列名」でソートしたいときに、さくっとワンライナーで実行する方法です。

※ (6/9) コメントでご指摘をいただき、一部書き換えました。

次のようなDataFrameがあったときに

df = pd.DataFrame({4:[1,2,3], 2: [1,2,3], 1:[1,2,3], 3: [1,2,3]})

image.png

下のコードで実行できます。


df.sort_index(1)
# または
df.T.sort_index().T

image.png

アルファベットの列名でも同様に実行可能です。

df = pd.DataFrame({'d':[1,2,3], 'b': [1,2,3], 'a':[1,2,3], 'c': [1,2,3]})
df.sort_index(1)
# または
df.T.sort_index().T

image.png

ひらがなも上手くいきました。

df = pd.DataFrame({'':[1,2,3], '': [1,2,3], '':[1,2,3], '': [1,2,3]})
df.sort_index(1)
# または
df.T.sort_index().T

image.png

漢字はダメでした。(なんか惜しいけど。)

df = pd.DataFrame({'':[1,2,3], '': [1,2,3], '':[1,2,3], '': [1,2,3]})
df.sort_index(1)
# または
df.T.sort_index().T

image.png

以上、どこかで使えるかもしれない小ネタでした。

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?