Python

Deep Learning

Python♪ラムダ式でクラスのインスタンス変数を操作するテクニック

ラムダ式「f = damdba 変数: 式」の変数にインスタンス変数、式にクラスメソッドを指定すると、クラスのインスタンス変数をパラメータとしてクラスを操作することができます。これはディープラーニングの学習にも利用できるテックニックです。
Deep Learning

NumPy♪nditerを使うと様々な次元数に対応できる

NumPyでは、引数の次元数を限定しないコーディングができるように様々な関数が用意されています。nditerもそのひとつであり、配列の要素を順番に指定することができます。なお、op_flags=['readwrite']についても簡単に紹介します。
Deep Learning

NumPy♪ファンシーインデックスが苦手だと感じたら

ファンシーインデックスの簡単な例はすぐに理解できますが、使い方の仕組みが分からず悩んでしまいました。キーワードは「ブロードキャスト」「インデックスとして渡す配列の数」「list指定とNumPy配列指定の違い」です。ルールがわかればスッキリします。
Deep Learning

NumPy♪ブロードキャストを雰囲気で理解していませんか?

NumPyのブロードキャストは非常に強力な機能です。だから、なんとなく雰囲気で使うのはもったいない。ルールはシンプルですので、一度だけしっかり理解しましょう。NumPyの使い勝手が格段に向上するはずです。ブロードキャストあってのNumPyです。
NumPy

Python♪用語集:NumPyの配列に関する日本語表現

NumPy配列のsize、shape、shape[i]等の日本語表現は様々です。例えば、.shape[i]が示す値は「要素数」「大きさ」「長さ」など多くの言葉が定義されています。そこで、これらの中から使いやすく混乱しにくい表現を選び、紹介したいと思います。
Python

Python♪FEM:平面トラスの入力データ作成

Pythonの平面トラス解析プログラムの入力データ作成方法について説明します。慣れないうちはトラスの形状や荷重を配列で表現するのが難しいかもしれませんが、図を見ながら理解してください。各変数の内容を覚えなければプログラム全体が見えてきません。
Python

Python♪提出資料で使えるmatplotlibグラフ書式例2

複数のグラフを表示するサンプルコードです。私自身が提出資料として最低限必要と感じる書式を盛り込んだ例です。「あ~、これこれ」と思った方は、書式例のコードをコピペして自由に使ってください。matplotlib書式例シリーズの第2段です。
Python

Python♪Windowsの「Shift JIS」の落とし穴

「CP932」を「Shift JIS」だと思って使っていませんか? 入出力ファイルのデフォルト文字コードは? Windowsの「Shift JIS」には落とし穴がたくさんあります。最初が肝心ですので、後回しにしないようにしましょう。
Python

Python♪用途別にまとめたファイルの入出力コード

忘れた頃に必要になるファイルの入出力。EXCELのCSVファイルの読み込み、json形式のファイルなど、初歩的な使い方を独断と偏見で選びました。必要になったときに、この記事を開いてコピペできるように用途別に分類してまとめました。
Deep Learning

NumPy♪関数maxやsumにおけるkeepdims指定の図解

keepdims指定によって配列の次元数が維持されるのはわかります。でも、各次元の長さが、どのように変化するのかについては、すっきりしない方も多いのではないでしょうか。そこで、計算前後の変化について図を使って説明したいと思います。
Deep Learning

NumPy♪axis指定を易しく図解(axis = -1とは)

NumPyの関数max等ではaxisで方向を指定しますが、axisの番号と方向の対応が分かりにくく、axisを使うたびに調べ直していませんか。また、計算後の配列の次元数や各次元の大きさについて、モヤモヤしている人も多いのではないでしょうか。
Python

Python♪基本:クラスの初学でのモヤモヤを解消しよう

クラスとオブジェクトは設計図と製品に例えられますが、なぜ、そんな例えになるのでしょうか。そして、オブジェクトを生成する必要があるのでしょうか。クラスの基本文法は学習したけれど、モヤっとした感じが消えない人が多いのではないでしょうか。
Python

Python♪FEM:配列の次元数別の複製速度(list、NumPy配列)

list、NumPy配列の1~3次元配列について、参照渡し、浅いコピー、深いコピーなどの複製時間を計測しました。速度の差を感覚的に知っておくことは重要だと思います。私自身、予想外の計測結果になったものもあり、楽しむことができました。
Deep Learning

Python♪NumPyのa[[0], 0, 0:1]は何次元の配列になる?

NumPyの配列の要素はスライスやリスト(配列)を使って部分的に要素を抜き出せますが、抜き出した配列の次元がどうなるのか混乱しませんか?しかし、実は抜き出し後の配列の次元数は機械的に判断できます。最初に知っておくと頭に入りやすくなります。
Deep Learning

Python♪NumPyのa[i, j, k]とa[i][j][k]の違い

NumPy配列では要素を参照するときに、a[i, j, k]とa[i][j][k]という2つの表記法があります。「そうだっけ」と思った方はその違いを整理しておきましょう。計算速度、データへのアクセスの考え方が違いますので注意が必要です。