質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

2回答

239閲覧

二次元配列のndarrayのソートが上手くいかない理由

sequelanonymous

総合スコア123

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/04/16 10:37

期待するアウトプットは、以下のように配列内を全て降順にソートしたいです。
array[[0.32075617, 0.22639179, .... 0.00001...], [...], ...]

下記のように試していますが、上手くいかず躓いています。なにかお気づきの点ありましたらご教示頂けると助かります。

python

1np.sort(t) 2array([[0. , 0. , 0. , ..., 0.22639179, 0.22639179, 3 0.32075617], 4 [0. , 0. , 0. , ..., 0.20006112, 0.29417591, 5 0.30009168], 6 [0. , 0. , 0. , ..., 0.20211522, 0.20211522, 7 0.22854932], 8 ..., 9 [0. , 0. , 0. , ..., 0.20200654, 0.24590482, 10 0.41496438], 11 [0. , 0. , 0. , ..., 0.18677756, 0.2557242 , 12 0.26460154], 13 [0. , 0. , 0. , ..., 0.21395755, 0.26304603, 14 0.29176029]]) 15np.sort(t)[::-1] 16array([[0. , 0. , 0. , ..., 0.21395755, 0.26304603, 17 0.29176029], 18 [0. , 0. , 0. , ..., 0.18677756, 0.2557242 , 19 0.26460154], 20 [0. , 0. , 0. , ..., 0.20200654, 0.24590482, 21 0.41496438], 22 ..., 23 [0. , 0. , 0. , ..., 0.20211522, 0.20211522, 24 0.22854932], 25 [0. , 0. , 0. , ..., 0.20006112, 0.29417591, 26 0.30009168], 27 [0. , 0. , 0. , ..., 0.22639179, 0.22639179, 28 0.32075617]]) 29np.sort(t, axis=1)[::-1] 30array([[0. , 0. , 0. , ..., 0.21395755, 0.26304603, 31 0.29176029], 32 [0. , 0. , 0. , ..., 0.18677756, 0.2557242 , 33 0.26460154], 34 [0. , 0. , 0. , ..., 0.20200654, 0.24590482, 35 0.41496438], 36 ..., 37 [0. , 0. , 0. , ..., 0.20211522, 0.20211522, 38 0.22854932], 39 [0. , 0. , 0. , ..., 0.20006112, 0.29417591, 40 0.30009168], 41 [0. , 0. , 0. , ..., 0.22639179, 0.22639179, 42 0.32075617]]) 43np.sort(t, axis=0)[::-1] 44array([[0.08418712, 0.09510282, 0.04156941, ..., 0.04623194, 0.04472263, 45 0.04623194], 46 [0.07073077, 0. , 0. , ..., 0. , 0.0353378 , 47 0. ], 48 [0.06394757, 0. , 0. , ..., 0. , 0. , 49 0. ], 50 ..., 51 [0. , 0. , 0. , ..., 0. , 0. , 52 0. ], 53 [0. , 0. , 0. , ..., 0. , 0. , 54 0. ], 55 [0. , 0. , 0. , ..., 0. , 0. , 56 0. ]])

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

やりたい事は、こういうことでしょうか?

Python

1import numpy as np 2 3arr = np.array(np.random.randint(0,100,16)).reshape((4,4)) 4print(arr) 5#[[76 48 34 27] 6# [85 61 85 53] 7# [44 33 43 47] 8# [32 56 59 16]] 9arr = np.sort(arr)[:,::-1] 10print(arr) 11#[[76 48 34 27] 12# [85 85 61 53] 13# [47 44 43 33] 14# [59 56 32 16]]

投稿2019/04/16 11:12

magichan

総合スコア15898

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

期待するアウトプットは、以下のように配列内を全て降順にソートしたいです。

こういうことでしょうか?numpy.apply_along_axisを使って行毎に降順ソートします。

Python

1import numpy as np 2a = np.array([[1,2,3],[6,5,4]]) 3print(a) 4""" 5[[1 2 3] 6 [6 5 4]] 7""" 8a = np.apply_along_axis( lambda row: np.sort(row)[::-1], axis=1, arr=a) 9print(a) 10""" 11[[3 2 1] 12 [6 5 4]] 13"""

投稿2019/04/16 11:01

can110

総合スコア38262

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sequelanonymous

2019/04/17 08:46

できました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問