‫これまで､ とんでもないことをやってきたわけです｡
‫レイズの作成を検討しました｡
‫ビューイングアレイについて見てきました｡
‫これまで､ 配列の操作や比較について見てきました｡
‫さて､ 5つ目ですが､ 数字の配列がある場合､ ソートが必要な場合があります｡
‫そこで､ 配列のソートを行い､ ここに小さな見出しを作ります｡
‫美しい｡
‫では､ 見てみましょう｡
‫ランダム配列はまだどこかにあるのでしょうか？
‫私たちが作ったものです｡
‫なるほど､ 素晴らしい｡
‫さて､ これを再現するとしたら､ どうすればいいのか｡
‫そこで､ イコールnpランダムにしてみましょう｡
‫さて､ これは整数でいっぱいなので､ rand intを使い､ 10まで､ そしてサイズをいくつにするかということになります｡
‫ランダム配列の形状は？
‫これは､ 行数を数えるだけでわかると思います｡
‫3人×5人
‫では､ 見てみましょう｡
‫3人×5人
‫素晴らしい｡
‫3､ 5
‫だから､ それを再現しているだけなんです｡
‫持っていない場合
‫それ以外は､ メモリーに保存されているものを使えばいいのです｡
‫完全なものにするために再作成しています｡
‫素晴らしい｡
‫形通りに走れる｡
‫これでよしとしよう｡
‫では､ この配列の中の数字を並べ替えたい場合はどうすればよいでしょうか｡
‫さて､ num piにはNPソートという関数があります｡
‫シフトタブを確認し､ その機能を確認します｡
‫配列のソートされたコピーを返す｡
‫そして､ これはZ配列です｡
‫素晴らしい｡
‫そこで､ ランダムな配列を渡すと､ どうなるのでしょうか？
‫各軸の数値をソートしてくれるんです｡
‫そこで､ この最初の配列を見てみると｡
‫今､ 一番左側に1つあります｡
‫5は2番目に高いので､ その後に来ます｡
‫それから7､ 8､ 9と｡
‫素晴らしい｡
‫では､ 次に続けましょう｡
‫NumPyにはargというメソッドもあります｡
‫そして､ この内容を確認することになるのです｡
‫配列をソートするためのインデックスを返します｡
‫そのため､ 値の並べ替えを行わない場合もあります｡
‫その代わり､ どのインデックスが最も高い値を持っているかを把握したい｡
‫では､ そうしましょう｡
‫通過する｡
‫1からfalseのランダム配列｡
‫いろいろな配列があるので､ ちょっと混乱してきました｡
‫またランダムアレイを見ることができる
‫ここではランダムな配列になっていますね｡
‫ARGソートをかけているところです｡
‫これはインデックスの並べ替えになるんですね｡
‫つまり､ 1が低ければ､ これはゼロの数字だということです｡
‫うん｡
‫そうすると､ 5が1になっている｡
‫うん｡
‫そして､ 7には2がある｡
‫素晴らしい｡
‫なるほど｡
‫つまり､ これはインデックスをソートして､ どのような順番で来るかを教えてくれているのです｡
‫それでは､ 頼りになる配列､ nprの別の例を見てみましょう｡ orgのソートです｡
‫シンプルで良いですね｡
‫つまり､ これはagソートを使えば､ すでにautoになっていることがわかります｡
‫なるほど｡
‫つまり､ これはインデックスがゼロワンで来るような順番で意味があるのです｡
‫もし､ 最小の数字が来るインデックスを見つけたいとしたら､ ag min
‫a one is zeroとすることができる｡
‫つまり､ 1つのarg minにおける最小値､ それが出現するインデックスは0である｡
‫1の最大値が欲しいときはarg maxで同じことができる｡
‫2つです｡
‫ランダム配列で最大値を出したらどうでしょう？
‫ランダムレイをもう一度見直してみましょう｡
‫マックスランダム､ ですね｡
‫これらの配列のうち､ 最大数が発生する場所を知りたいのです｡
‫では､ どうなるか見てみましょう｡
‫まずはシフトタブをやってみましょう｡
‫実際には､ 軸に沿った最大値のインデックスを返します｡
‫なるほど｡
‫4つです｡
‫うーん｡
‫それは何軸なのでしょうか？
‫まあ､ それじゃどうしようもないんですけどね｡
‫さあ､ 行こう｡
‫軸はゼロに等しい｡
‫あ､ これだ｡
‫つまり､ 軸に沿った最大値がゼロに等しくなるわけです｡
‫これが111なんですね｡
‫つまり､ インデックス1が最大値を持つわけです｡
‫軸0は行になると思います｡
‫一緒に考えていきましょう｡
‫ARG､ MAX､ ここが私も迷うところです｡
‫さまざまなアレイを見て､ それらを整理しようとすると､ ここで起こっていることに1つだけアクセスします｡
‫なるほど､ これはコラムに載せるんですね､ 確か｡
‫だから､ ここが混乱しているんです｡
‫だから､ ここにあるのです｡
‫これはポジション4です｡
‫これが一番高い数字です｡
‫そうですね｡
‫だから軸ゼロ｡
‫そして､ ポジション1へ｡
‫持っています｡
‫9位はこちら｡
‫そうですね｡
‫3列目で｡
‫最高はこちらの1枚です｡
‫その中に5があるわけです｡
‫そこで､ 逆に､ 縦に下げただけです｡
‫では､ 水平方向に下げてみると｡
‫それがアクセス・ゼロです｡
‫この向こうは1が一番高く､ この3つの数字を見ています｡
‫そうそう､ ポジション1｡
‫うん｡
‫それから､ また1つ｡
‫だから012｡
‫そう､ ここがポジション1､ ここがポジション2｡
‫ゼロのためにマックスを用意した｡
‫ええ､ ゼロです｡
‫そこで､ このようにコマンドを打ち込んで表示させ､ 自分で解決するというちょっとした練習が必要なのです｡
‫しばらくやっていますが､ いまだにアンパイヤレースのアクセス方法が違って戸惑うことがあります｡
‫だから､ 「ああ､ これはどの軸に関係するんだろう」と悩んでも､ 気にしないでください｡
‫このような配列の表示は､ 実際にコマンドを入力して手順を辿ってみるまで､
‫ちょっと混乱することがあるんです｡
‫では､ 他に何があるのか？
‫そうですね､ 配列の並べ替えについては､ おそらくこれでまとまると思います｡
‫さて､ NumPyの美しいところは､ これまで見てきたこれらの関数がすべて､ どんな時代にも渡って使えるということです｡
‫配列の比較､ 配列の並べ替えなど､ これまで説明してきたことに圧倒されるような内容でも､
‫心配はいりません｡ 実際に自分で配列を作って操作してみてください｡
‫ソートしてみたり､ ドットプロダクトをやってみたり､ いろいろです｡
‫数字から何かを作り出そうとするときが一番自分のものになるし､ 実例があると本当に助かる｡
‫では､ numpyのセクションを終える前に､ 実用的な例を見てみましょう｡