回答編集履歴

4

言葉の修正

2018/01/10 05:12

投稿

namnium1125
namnium1125

スコア2043

test CHANGED
@@ -74,7 +74,7 @@
74
74
 
75
75
 
76
76
 
77
- 「同じだけど違う」という言葉を使いたくなってしまう関数ですね。(^ ^;
77
+ こういうときに「同じだけど違う」という言葉を使いたくなってしまいますね。(^ ^;
78
78
 
79
79
 
80
80
 
@@ -96,7 +96,7 @@
96
96
 
97
97
  ```python
98
98
 
99
- print(np.argsort([6,1,5,2,4,3])) # => [1 3 5 4 2 0] このように普通のリストも配列にとれる
99
+ print(np.argsort([6,1,5,2,4,3])) # => [1 3 5 4 2 0] このように普通のリストも引数にとれる
100
100
 
101
101
  [6,1,5,2,4,3].argsort() # => AttributeError
102
102
 

3

追記

2018/01/10 05:12

投稿

namnium1125
namnium1125

スコア2043

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- `argsort`の方はどちらの書き方でも処理に違いはないみたいですが~~(厳密な部分は違うのだろうか?)~~※、`sort`の方には違いがあります。(※: 全く同じであることをドキュメントで確認しました。)
5
+ `argsort`の方はどちらの書き方でも処理に違いはないみたいですが~~(厳密な部分は違うのだろうか?)~~※、`sort`の方には違いがあります。
6
6
 
7
7
 
8
8
 
@@ -67,3 +67,37 @@
67
67
  arr_a : [1 2 3 4 5 6]
68
68
 
69
69
  ```
70
+
71
+
72
+
73
+ ## 追記 ※の部分について
74
+
75
+
76
+
77
+ 「同じだけど違う」という言葉を使いたくなってしまう関数ですね。(^ ^;
78
+
79
+
80
+
81
+ 全く等価なのは、mkgrei様も挙げておられる、
82
+
83
+
84
+
85
+ `arr.argsort()`と`np.argsort(arr)`
86
+
87
+
88
+
89
+ ですね。これらは全く同じです。というか`arr.argsort()`が内部的には`np.argsort(arr)`になる、と言った方がいいのでしょうか?
90
+
91
+
92
+
93
+ しかし、クラスメソッドである`np.argsort()`自体は**`numpy.ndarray`オブジェクト以外の配列**も引数に取ることができます。それが唯一の違いです。
94
+
95
+
96
+
97
+ ```python
98
+
99
+ print(np.argsort([6,1,5,2,4,3])) # => [1 3 5 4 2 0] このように普通のリストも配列にとれる
100
+
101
+ [6,1,5,2,4,3].argsort() # => AttributeError
102
+
103
+ ```

2

一部訂正

2018/01/10 05:10

投稿

namnium1125
namnium1125

スコア2043

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- `argsort`の方はどちらの書き方でも処理に違いはないみたいですが(厳密な部分は違うのだろうか?)、`sort`の方には違いがあります。
5
+ `argsort`の方はどちらの書き方でも処理に違いはないみたいですが~~(厳密な部分は違うのだろうか?)~~※、`sort`の方には違いがあります。(※: 全く同じであることをドキュメントで確認しました。)
6
6
 
7
7
 
8
8
 

1

ちょこっと編集

2018/01/10 04:53

投稿

namnium1125
namnium1125

スコア2043

test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  - `np.sort(arr)` -> **返り値が**並べ替えられた新しいオブジェクトになる。元の配列には変化なし。
10
10
 
11
- - `arr.sort` -> **配列そのものの中身**を並べ換える。返り値は**`None`**
11
+ - `arr.sort()` -> **配列そのものの中身**を並べ換える。返り値は**`None`**
12
12
 
13
13
 
14
14