雑多な技術系メモ

自分用のメモ。内容は保証しません。よろしくお願いします。

texについてのメモ

texについてのメモ。 基本的にはmathjax用。 tex全般 転置 コメント数式中に ルート argmax かける 指数 ログ 微分関連 行列 下説明 括弧 中括弧 よく使う はてなブログのmarkdown上でのtexについて 数式(基本) 数式に番号をつける markdown画像 色つける …

open ai gymについての調査録

gym

ゲームの動画を保存する jupyter内でgymのゲーム動画を表示する 参考文献 gymのwrappers jupyterでhtmlを埋め込む ゲームの動画を保存する cartpoleを適当に実行し、ゲームの動画を保存する import gym env = gym.make("CartPole-v0") env = gym.wrappers.Mo…

colabについてのメモ

colabでGoogle Driveにデータを保存する 自分のGoogle Driveをcolabで参照する gpuを有効にする colabでGoogle Driveにデータを保存する colabでGoogle Driveにデータを保存する方法についてのメモ まずgoogle driveをマウントする from google.colab import…

【python】引数を設定するargparseについてのメモ

引数を渡す最も単純な例 参考文献 引数を渡す最も単純な例 以下のファイルをtest.pyとして import argparse parser = argparse.ArgumentParser() parser.add_argument("test", nargs="+") args = parser.parse_args() print(args.test) 試しいくつか引数を設…

現在の時刻等を扱うdatetime.datetimeについてのメモ

dateのstringのformatの変換 ローカルでの現在の時間に関するdatetimeを返す 現在の時刻をisoformat(文字列)で取得する datetimeの月や時刻等を個別に取得する 参考文献 dateのstringのformatの変換 import datetime d1 = datetime.datetime.strptime("2013-…

os.pathについてのメモ

ファイルが存在するかの確認 os.path.exists pathを繋げる os.path.join 参考文献 ファイルが存在するかの確認 os.path.exists In [24]: os.path.exists("./test.txt") # ファイルが存在する場合 Out[24]: True In [25]: os.path.exists("./test2.txt") # フ…

pandasについてのメモ

columnsの入れ替え データの書き出し csv apply すべてのデータに関数を適用 loc iloc DataFrameのhistメソッドで各列の情報をヒストグラムとしてプロットする value_counts csvを読み込む。read_csv csvで保存する dataframeオブジェクトにデータを加える …

matplotlibについてのメモ

軸 x軸のメモリを消す labelの取得 labelの設定 ticksの取得 適当な間隔にする marker一覧 凡例を二列に グラフの全削除 グラフの全削除 軸 x軸のメモリを消す ax.xaxis.set_visible(False) labelの取得 ax.get_xticklabels() labelの設定 ax.set_xticklabel…

Numpyについてのメモ

float からintへ 配列をランダムでシャッフル random.shuffle ones , zeros 各軸で取り出し 行で取り出し 列で取り出し 連結:np.r, np.c unique:配列の要素をカウントする random permutaion(並べ替え) float からintへ >>> x = np.array([1.1, 3.5, 4.8]) >…

pythonの基礎構文についてのメモ

pip その他 env active deactivate requirements oandapy関連 取得したデータの時間の成形 json データの書き込み データの読み込み 文字列関連 replace():文字の入れ替えと削除 pip update pip install -U pymongo バージョン指定 pip install pymongo==2.6…

内包表記についてのメモ

基本的な使い方 [i for i in range(10) if i % 2 == 0] #=> [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 内包表記内でif文を使う [i for i in range(10) if i % 2 == 0] #=> [0, 2, 4, 6, 8]

【Open Ai Gym】タスクの最大ステップ数の取得

gym

import gym env = gym.make("CartPole-v0") print("max_step: ", env.spec.timestep_limit) #=> max_step: 200

散布図の各要素にアノテーション

以下のような感じの画像を生成するサンプルコードを示します。 サンプルコード import numpy as np import matplotlib.pyplot as plt x = [0.,1.,2.] y = [3.,4.,5.] np.meshgrid(x,y) X,Y = np.meshgrid(x,y) # 散布図の表示 fig, ax = plt.subplots() ax.s…

二変数の正規分布のプロット

以下のようなグラフをプロットするソースコードの紹介 ソースコード import numpy as np import matplotlib.pyplot as plt from scipy.stats import multivariate_normal from mpl_toolkits.mplot3d import Axes3D mu_x, mu_y = 0, 0 # 平均 variance_x, var…

Colaboratory officially suport vim mode !

en

We can use vim on Colaboratory ! Vim support is now available through the updated editor. Opt in now to try it out! :𝚠𝚚 pic.twitter.com/86iF2pJPP0— Colaboratory (@GoogleColab) August 1, 2019 How to use vim on Colaboratory Click upper right…

Colaboratoryでvimが使えるようになった

Colaboratoryでvimが使えるようになった。 twitter Vim support is now available through the updated editor. Opt in now to try it out! :𝚠𝚚 pic.twitter.com/86iF2pJPP0— Colaboratory (@GoogleColab) August 1, 2019 使い方 右上のツボみたいなボタンを…

How to display normal distribution in Tex

en

$\mathcal{N}$ \mathcal{N}

【tex】正規分布の記号Nをtexで表示する

$\mathcal{N}$ \mathcal{N}

【matplotlib, scipy】How to plot normal distribution by python

The code to plot above graph. import numpy as np import matplotlib.pyplot as plt import scipy.stats mean = 50 std = 10 x = np.linspace(0,100,100) y = scipy.stats.norm.pdf(x,mean,std) plt.plot(x,y) plt.show()

【matplotlib, scipy】pythonで正規分布をプロットする

上記の画像を出力するコード import numpy as np import matplotlib.pyplot as plt import scipy.stats mean = 50 std = 10 x = np.linspace(0,100,100) y = scipy.stats.norm.pdf(x,mean,std) plt.plot(x,y) plt.show()

【matplotlib】Remove all graphs

The code how to remove all graphs plotted import matplotlib.pyplot as plt ...... plt.gca().clear()

【matplotlib】グラフの全削除

表示されているグラフの削除 import matplotlib.pyplot as plt 省略 plt.gca().clear()

pandasで移動平均を求める

サンプルコード In [3]: arr = [1,2,2,3,4,5,4,19] In [4]: mea = pd.Series(arr).rolling(window=2).mean() In [5]: print(mea) Out[5]: 0 NaN 1 1.5 2 2.0 3 2.5 4 3.5 5 4.5 6 4.5 7 11.5

ipythonでmatplotlibを使う

ipythonの起動時にpylabオプションをつける ipython --pylab 簡単なグラフをプロットしてみる In [1]: import numpy as np In [2]: import matplotlib.pyplot as plt In [3]: x = arange(10) In [4]: y = np.random.rand(10) In [5]: plt.plot(x,y) Out[5]: [<matplotlib.lines.Line2D at 0x7ff0f46f5f60></matplotlib.lines.line2d>…

はてなブログのmarkdown編集で、最適化問題を記述するためのコードメモ

$$ \begin{aligned} & \text{maxmize} && m \\\\ & \text{subject to} && \sum\_{a\_1 \in A\_2}\pi(s, a\_1)Q(s, a\_1, a\_2) \leq m && \forall a\_2 \in A\_2 \end{aligned} $$ 以下、出力 $$ \begin{aligned} & \text{maxmize} && m \\ & \text{subject …

【matplotlib】y軸の指数表記を解除する

y軸が指数表記になってしまう際の解除法 ax.get_yaxis().get_major_formatter().set_useOffset(False)

【ajax, flask】flaskのアプリケーションでajax通信を行うサンプル

ajax通信でget送信をし、結果を受け取る簡単なサンプルコードを紹介します。 ディレクトリ構成は以下のようになってます。 (javascriptのファイルはhtmlに書いちゃってます) ├── app.py └── templates └── index.html html まずhtml側のコード。 <html> <head> <meta charset="utf-8"> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>…</meta></head></html>

【matplotlib】x軸のラベルを斜めにする

まず、x軸のラベルを斜めにしたコードと、 完成したグラフが以下になります。 import matplotlib.pyplot as plt import numpy as np xs = np.arange(5) ys = [x**2 for x in xs] fig,ax = plt.subplots() ax.set_xticks(xs) # x軸のラベルを斜めにする。rota…

pybox2dをUbuntuにインストール

まず必要なライブラリをインストールする sudo apt-get install build-essential python-dev swig python-pygame git pybox2dをクローン git clone https://github.com/pybox2d/pybox2d cd pybox2d 最後にbuildし、インストールする python setup.py build p…

指定した確率分布に従って乱数を生成する

サンプルコード import numpy as np values = ["high", "low"] # 確率変数 p = [0.9, 0.1] # 確率分布 np.random.choice(values, p=p) # 指定した確率分布に従って乱数を生成