本動画は、数値計算に特化したサードパーティー製PythonライブラリであるNumPyの基礎講座になります。numpyは高速に処理が行え、Kaggleなどのデータ分析でよく利用されているので、プログラミング初心者の方は是非挑戦してみてくださいね。
・Github(教材)
https://github.com/KS-Japan/introduction-to-python-programming-language/tree/main/numpy
・Python動画リスト
・Twitter
Tweets by bushido_program
#python #基礎 #簡単 #python入門 #numpy #tutorial #beginners #programming #learning #データ分析
みなさんこんにちは
本動画はpythonのNumPyライブラリの 基礎講座になります。
利用する確率が高いライブラリになりますので、
使いこなせると非常に良いと思います。
では、始めていきましょう。
今回は無料で利用できる google colab を利用します。
資料については、Githubにアップしますので、ダウンロードして一緒に動きを確認してみてくださいね。
NumPyは科学技術計算に特化したサード パーティ製のパッケージです。
C言語で実装されているため 、python の課題である実行時間を
大幅に短縮することができます。
まずは、NumPyを利用するためにライブラリをインポートしましょう。
まずは1次元配列を扱います。
numpy array を用いることで、NumPyの配列を持つことができます。
念のため型を表示していますが、問題なく、NumPyの担って型になっていることがわかりますね。
次は二次元の配列を見てみましょう。
括弧で2つの配列を並べることでNumPy型の二次元配列を作成することができます。
変数が何次元で、長さはどれくらいかを見たい場合はshapeを利用します。
正しく、2行3列であることがshapeで確認できましたね。
次は配列の形状を変化させます。
変数 c NumPy一次元配列を定義しました。
その後、reshapeを利用することで二次元配列に形状を変化することができました。
今回の場合、左側が行数、右側が列数を表しています。
次は3行2列の配列に変更してみましょう。
次はNumPy配列の要素の型を触っていきます。
まずは、0から5までの要素を入れた配列の型を見てみましょう
今回の場合だと符号あり64ビット整数型のint64になっていることが確認できましたね。
では要素の型を半精度浮動小数点数にastypeを利用して変更してみましょう
問題なく要素の型が変更できていることを確認できましたね。
次は、要素の扱い方を見ていきます。
定義した配列の2番目の中身を見てみます。
見ていただいて分かるとおり、NumPy配列であっても通常の配列と同じように扱うことができます。
それは単にインデックスの指定だけでなく、
スライス指定でも同じことが言えます。
スライスは特定の数字の前後にコロンを
入れることで範囲指定をすることができます。
また、それはNumPyの一次元配列だけでなく、二次元配列でも同様に扱うことができます。
数字が付いてない場合は全要素指定になります。
二次元配列の一つ目のところは、2行目のすべての要素、二つ目は3列名のすべての 要素を指定していることになります。
インデックス番号は0番から始まるため、
順番の認識がずれる可能性があります。
注意してください
次はデータ再割り当てです。
二次元配列を作成したデータの一部を変更してみましょう。
まずは、2行3列目のデータに6を入れてみ ましょう。
問題なく、6が入っていることを確認できましたね。
次は1行すべて7に変更してみましょう。
今までは python 標準のrangeを利用していましたが、
実はNumPyにも同様のrange機能がついています。
では、二つを比べてみましょう。
出力結果は同じだということが分かりましたね。
次はランダム機能について紹介します。
まずは、3行2列のランダムな二次元配列を作成してみましょう。
しかしながら、この方法は実行するたびに結果が変わってしまうというデメリットが あります。
このデメリットを防ぐ方法として、
seed値を設定する方法があります。
次は、同一の要素の配列を作成してみましょう。
0や1の場合はそのままですが、単位行列の場合はeye関数、
指定数字の場合はfull 関数を用いることで作成することができます。
最後は配列同士の結合や分割になります。
まずは1次元配列の結合をします。
問題なく、concatenateを利用することで、結合することができましたね。
次は二次元配列を結合してみましょう。
何もしない場合は、縦に結合されてしまいます。
横に結合したい場合は、axisに1を代入することで横結合することができます。
配列の分割はhsplitを利用することで実現することができます。
引数の2番目にどの位置で分割するか指定することができます。
問題なく分割されていることを確認できましたね。
本動画はこれで終了になります。
後半は、また別の動画をあげたいと思います。
動画を見ていただきありがとうございます。
高評価とチャンネル登録をよろしくお願い致します。
また次回の動画で会いましょう。
コメント