質問するログイン新規登録

回答編集履歴

4

言葉の修正

2018/01/10 05:12

投稿

namnium1125
namnium1125

スコア2045

answer CHANGED
@@ -36,7 +36,7 @@
36
36
 
37
37
  ## 追記 ※の部分について
38
38
 
39
- 「同じだけど違う」という言葉を使いたくなってしまう関数ですね。(^ ^;
39
+ こういうときに「同じだけど違う」という言葉を使いたくなってしまいますね。(^ ^;
40
40
 
41
41
  全く等価なのは、mkgrei様も挙げておられる、
42
42
 
@@ -47,6 +47,6 @@
47
47
  しかし、クラスメソッドである`np.argsort()`自体は**`numpy.ndarray`オブジェクト以外の配列**も引数に取ることができます。それが唯一の違いです。
48
48
 
49
49
  ```python
50
- print(np.argsort([6,1,5,2,4,3])) # => [1 3 5 4 2 0] このように普通のリストも配列にとれる
50
+ print(np.argsort([6,1,5,2,4,3])) # => [1 3 5 4 2 0] このように普通のリストも引数にとれる
51
51
  [6,1,5,2,4,3].argsort() # => AttributeError
52
52
  ```

3

追記

2018/01/10 05:12

投稿

namnium1125
namnium1125

スコア2045

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  `np.argsort(arr)`もできますし、`arr.sort()`もできますよ。
2
2
 
3
- `argsort`の方はどちらの書き方でも処理に違いはないみたいですが~~(厳密な部分は違うのだろうか?)~~※、`sort`の方には違いがあります。(※: 全く同じであることをドキュメントで確認しました。)
3
+ `argsort`の方はどちらの書き方でも処理に違いはないみたいですが~~(厳密な部分は違うのだろうか?)~~※、`sort`の方には違いがあります。
4
4
 
5
5
  - `np.sort(arr)` -> **返り値が**並べ替えられた新しいオブジェクトになる。元の配列には変化なし。
6
6
  - `arr.sort()` -> **配列そのものの中身**を並べ換える。返り値は**`None`**
@@ -32,4 +32,21 @@
32
32
 
33
33
  arr_a.sort() :
34
34
  arr_a : [1 2 3 4 5 6]
35
+ ```
36
+
37
+ ## 追記 ※の部分について
38
+
39
+ 「同じだけど違う」という言葉を使いたくなってしまう関数ですね。(^ ^;
40
+
41
+ 全く等価なのは、mkgrei様も挙げておられる、
42
+
43
+ `arr.argsort()`と`np.argsort(arr)`
44
+
45
+ ですね。これらは全く同じです。というか`arr.argsort()`が内部的には`np.argsort(arr)`になる、と言った方がいいのでしょうか?
46
+
47
+ しかし、クラスメソッドである`np.argsort()`自体は**`numpy.ndarray`オブジェクト以外の配列**も引数に取ることができます。それが唯一の違いです。
48
+
49
+ ```python
50
+ print(np.argsort([6,1,5,2,4,3])) # => [1 3 5 4 2 0] このように普通のリストも配列にとれる
51
+ [6,1,5,2,4,3].argsort() # => AttributeError
35
52
  ```

2

一部訂正

2018/01/10 05:10

投稿

namnium1125
namnium1125

スコア2045

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  `np.argsort(arr)`もできますし、`arr.sort()`もできますよ。
2
2
 
3
- `argsort`の方はどちらの書き方でも処理に違いはないみたいですが(厳密な部分は違うのだろうか?)、`sort`の方には違いがあります。
3
+ `argsort`の方はどちらの書き方でも処理に違いはないみたいですが~~(厳密な部分は違うのだろうか?)~~※、`sort`の方には違いがあります。(※: 全く同じであることをドキュメントで確認しました。)
4
4
 
5
5
  - `np.sort(arr)` -> **返り値が**並べ替えられた新しいオブジェクトになる。元の配列には変化なし。
6
6
  - `arr.sort()` -> **配列そのものの中身**を並べ換える。返り値は**`None`**

1

ちょこっと編集

2018/01/10 04:53

投稿

namnium1125
namnium1125

スコア2045

answer CHANGED
@@ -3,7 +3,7 @@
3
3
  `argsort`の方はどちらの書き方でも処理に違いはないみたいですが(厳密な部分は違うのだろうか?)、`sort`の方には違いがあります。
4
4
 
5
5
  - `np.sort(arr)` -> **返り値が**並べ替えられた新しいオブジェクトになる。元の配列には変化なし。
6
- - `arr.sort` -> **配列そのものの中身**を並べ換える。返り値は**`None`**
6
+ - `arr.sort()` -> **配列そのものの中身**を並べ換える。返り値は**`None`**
7
7
 
8
8
  以下違いを示すコードです。
9
9