Matplotlib/SciPy/pandas/NumPy サンプルコード
[Last Modified] (2019/06/02 15:25:48)
ここは
趣味のプログラミングを楽しむための情報共有サービス。記事の一部は有料設定にして公開できます。 詳しくはこちらをクリック📝
Recent posts
Popular pages

概要

Python で数学的なことを試すときに利用される Matplotlib/SciPy/pandas/NumPy についてサンプルコードを記載します。

チュートリアル

インストール

pip でインストールする場合

pip のインストール

sudo apt install python-pip

ユーザ毎にインストールする場合

pip install --user numpy scipy matplotlib ipython jupyter pandas sympy nose
ls ~/.local/lib/python2.7/site-packages/

システム全体にインストールする場合

sudo pip install numpy scipy matplotlib ipython jupyter pandas sympy nose

apt/yum でインストールする場合

pip と比較してインストールされるバージョンが古くなります。

sudo apt install python-numpy python-scipy python-matplotlib ipython python-pandas python-sympy python-nose

新規 ndarray 配列の作成

import numpy as np
a = np.array([[1,0],
              [0,1]])

a = np.arange(15).reshape(3, 5)
a.resize(3,5) # 破壊的に自身を変更

型の明記

np.array( [ [1,2], [3,4] ], dtype=np.float64 )

すべて 0/1/未定 (dtype 未指定時は np.float64 )

np.zeros( (2,2), dtype=np.int64 )
np.ones( (2,2), dtype=np.int64 )
np.empty((2,2))

乱数

np.random.random((2,2))

10 以上 30 未満で +5

np.arange(10, 30, 5)
np.arange(0, 2, 0.3)

10 以上 30 以下で 10 要素

np.linspace(10, 30, 10)
np.linspace(0, 2*np.pi, 100)

コピー

b = a.copy()

一次元配列の取得

b = a.ravel()

配列としての演算

要素の合計値

np.sum(a)
a.sum()

要素の最大値

np.max(a)
a.max()

次元数

a.ndim

各次元の要素数

a.shape

全次元の要素数の合計

a.size

要素の型およびバイト数

a.dtype.name
a.dtype.itemsize
a.itemsize

各要素の値を二乗

a**2
a * a

各要素に対して条件判定

a < 2

各次元毎の演算

a.sum(axis=0) # 列j の合計
a.sum(axis=1) # 行i の合計

関数の各要素への適用

np.exp(a)
np.sqrt(a)
np.sin(a)
np.floor(a)

結合/分割

np.vstack((a,a))
np.hstack((a,a))
np.vsplit(a,999)
np.hsplit(a,999)

基本的な線形代数の演算

加減算

a + a
a - a

行列の積

a.dot(a)

転置行列

a.T
a.transpose()

逆行列

np.linalg.inv(a)

単位行列

np.eye(サイズ)

トレース

np.trace(a)

可視化

画像データの表示 imshow

Uploaded Image

import numpy as np
import matplotlib.pyplot as plt

myimg = np.array([
  [[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]], 
  [[0.0, 1.0, 0.0], [0.0, 0.0, 1.0]]])

plt.imshow(myimg)
plt.show()

グラフの表示 plot

Uploaded Image

import numpy as np
import matplotlib.pyplot as plt

a = np.array([9,1,9,1])

plt.plot(a)
plt.show()

移動平均による平滑化

import numpy as np
a = [1,1,1,1,1]

def MovingAverage(a, n=3):
    ret = np.cumsum(a, dtype=float)
    ret[n:] = ret[n:] - ret[:-n]
    return ret[n - 1:] / n

MovingAverage(a)

同次変換

If you want to read the rest of this page

Matplotlib/SciPy/pandas/NumPy サンプルコード

残り文字数は全体の約 16 %
なつかしのねこ
100 円
Related pages
    概要 コンピュータビジョン向けライブラリの一つである OpenCV を Python から扱うための環境を準備します。 都度参照するためのドキュメント OpenCV modules OpenCV-Python Tutorials OpenCV Tutorials インストール ビルド済みバイナリを apt/yum インストールする方法
    概要 NumPy から扱えるデータをファイルに保存するためのフォーマットとして HDF5 (Hierarchical Data Format) が利用されます。これを Python から扱うためには h5py を利用します。 pip install h5py サンプルコード NumPy データの保存 import h5py import numpy as np with h5py.File
    概要 立方体を二つ配置して回転させてみます。ライブラリを用いずに OpenGL API を直接利用します。描画部分のみを IPython で検証するためのソースコードはこちらです。 wget https://gist.githubusercontent.com/harubot/df886254396a449038ee542ed317f7b3/raw/92216e02d0210b9d8177056
    概要 コンピュータグラフィックスのレンダリングライブラリの一つ OpenGL はプラットフォームに依存しない仕様となっています。プラットフォームの一つに X11 があります。プラットフォームに依存する仕様は EGL (Embedded-System Graphics Library) にまとめられています。EGL は OpenGL とネイティブプラットフォームの間のインタフェースとして機能します
    概要 コンピュータグラフィックスのレンダリングライブラリの一つである OpenGL を Python3 から利用するための Linux 環境を準備して、設定例およびサンプルコードを記載します。特にここでは Debian9 を利用します。 Getting Started Language bindings / Python
    概要 ロボットを制御する際に複数の座標系を扱う必要があります。これら複数の座標系間の変換等を行うためのライブラリに tf2 (transform2) があります。C++ と Python がサポートされていますが、ここでは Python を用いて簡単な使い方を把握します。 tf2 チュートリアルと同様に動作検証のための
    概要 ROS による開発で必要となる 3D モデルは STL や COLLADA データとして作成できます。FreeCAD と Blender を用いて直方体のデータを作成してみます。いずれの場合も、ROS 等で扱うために単位はメートルで出力します。 FreeCAD による直方体 STL の作成 STL はフェイスに三角形を利用した 3D モデル
    概要 ロボットアプリケーションの開発環境の一つ OpenRAVE (Open Robotics Automation Virtual Environment) の環境を構築するための手順を記載します。ここでは特に Debian9 を利用します。 インストール 依存パッケージ ビルドツール関連 sudo apt install git build-essential cmake
    概要 3D アプリケーション間でデータを交換するためのファイルフォーマットの一つに COLLADA (COLLAborative Design Activity) があります。コンピュータグラフィックスのレンダリングに必要な情報およびその他付随する情報を格納できます。COLLADA の仕様にしたがった XML スキーマファイルの拡張子は通常