Python

[JavaScript][TypeScript] 配列の直積(すべての順列)を得る関数productを作る

はじめに Pythonの場合 TypeScriptで書く JavaScriptの場合 まとめ はじめに JavaScript/TypeScriptで複数の配列の直積(すべての順列)が欲しいという場面があった。Pythonなら組み込み関数productで解決できるのだが、JavaScript/TypeScriptではそのような…

異なるN人のグループ分けの総数が知りたい

はじめに 例:4人のグループ分けの総数 Pythonで計算してみる n=4の場合 n=8までの場合 計算方法の難点 ベル数を使って計算する はじめに 識別可能なN人を任意のグループに分けるとき、その分け方の総数を知りたい。はじめにPythonを使って力業で数え上げて…

[統計] GLMの最尤推定を自分でやってみる

はじめに ロジスティック回帰 対数尤度 対数尤度の計算 statsmodelsでGLM 実際の最尤推定の手順 メモ 関連記事 はじめに GLMで対数尤度を自分で計算して自分で最尤推定をやってみる、という回。 ロジスティック回帰 今回はロジスティック回帰を行ってみる。…

[統計] GLMでの区間推定

はじめに GLM GLMのパラメータの最尤推定量が従う分布 例:パラメータ2つのロジスティック回帰 信頼区間の検証 正規分布近似とWald統計量 参考文献 関連記事 はじめに 前回の記事では、正規分布の平均を区間推定する方法を説明した。cyanatlas.hatenablog.co…

[統計] 信頼区間とは何か

はじめに 点推定と区間推定 区間推定の定義 区間推定の妥当性 正規分布に従う母集団の平均を区間推定する(t 統計量を用いる方法) 正規分布に従う母集団の平均を区間推定する(ブートストラップ法) まとめ 参考資料・参考文献 関連記事 はじめに 与えられ…

[Python][Seaborn] Swarmplotが便利

Swarmplotの利点 Swarmplotの限界 Swarmplotの利点 Seabornライブラリのswarmplotがとても便利、というだけの記事。 import matplotlib.pyplot as plt import seaborn as sns df = sns.load_dataset('iris') fig, ax = plt.subplots() sns.swarmplot(x='spec…

[Python][Pandas] いずれかの文字列と合致するorを含む行を抽出する

はじめに テスト用のDataFrameを読み込む DataFrameからある一つの文字列と合致する行を取り出す DataFrameから複数の文字列のいずれかと合致する行を取り出す DetaFrameから複数の文字列のいずれかを含む行を取り出す はじめに 文字列のリストが用意されて…

[Python][Pandas] Pandasの基本用法まとめ

環境:Windows10 + Anaconda 4.8.1 + Python 3.7 + Pandas 1.0.5 目次 はじめに 準備 インストール バージョン インポート サンプルデータ Pandasの型 データフレームの作成 CSVファイルの読み込み・書き出し pandas.read_csv(filename, sep=',') -> pandas.…

[Python][Matplotlib] 変な形のアトラクターをつくる差分方程式系を適当に探してみる

はじめに 差分方程式系を作る 作図する 安定性解析 平衡点 安定性 ソースコード 2次元 3次元 はじめに 以前、グモウスキー・ミラの写像を作図したときに、差分方程式系のアトラクターはなかなか綺麗に描けるものだとわかった。cyanatlas.hatenablog.comそこ…

[Python][Matplotlib] 色の形式を変換する

環境 Windows10 + Python 3.7.6 + Matplotlib 3.1.1maptlotlib.colorsモジュールには、色を表現する変数を変換する関数が用意されており、なかなか便利そうだったのでまとめてみた。 HSV(0~1)からRGB(0~1)へ RGB(0~1)からHSV(0~1)へ RGB(0~1)から16進数へ 16…

[Python][Gnuplot] ロジスティック写像の分岐図を描く

環境 Windows10 + Anaconda 4.8.1 + Python 3.7.6 + gnuplot 5.2(patchlevel 8) はじめに 結果 ソースコード Gnuplotを使った他の記事 はじめに Pythonでロジスティック写像を計算し、Gnuplotを使って分岐図を描いてみた。Wikipediaの図ほど綺麗には描けなか…

[Python][Gnuplot] PythonからGnuplotを使ってグモウスキー・ミラの写像を作図する

環境 Windows10 + Anaconda 4.8.1 + Python 3.7.6 + gnuplot 5.2(patchlevel 8) はじめに 結果 ソースコード 解説 参考ページ 関連記事 はじめに 以前、PythonでMatplotlibを使ってグモウスキー・ミラの写像を作図したのだが、小さな点の打ち方が分からず、…

[Python][Matplotlib] グモウスキー・ミラの写像を描く

はじめに 出力結果 ソースコード 関連記事 はじめに 不思議な模様が現れることで有名な差分方程式系の一つに、グモウスキー・ミラの写像というものがある。ja.wikipedia.org以前、PythonのMatplotlibを使って作図したコードを発見したので貼ってみる。本当は…

[Python][Matplotlib] 等高線プロットcontourfで一部に色を塗らない

結論から言えば、色を塗りたくない場所にnp.nanを代入しておけばよい。 通常のcontourf 一部領域で色を塗らないcontourf その他 通常のcontourf from itertools import product import matplotlib.pyplot as plt import numpy as np X = np.linspace(0, 5, 2…

[Python][Matplotlib] よく使うリンク集

Matplotlibを使うときに自分がよく開くページのリンク集。公式ドキュメントがメインだが他のページも。随時追加。 目次 Matplotlibの公式ドキュメントについて 色関連 Color Colormap Colorpalette(seaborn) 等高線プロットContour(f)関連 Axes.contour(f)…

[Python] CSVファイルの表をはてな記法の表に変換する

はじめに:はてな記法の表とは 問題点:はてな記法で表を書く面倒さ 解決策:CSVファイルをはてな記法に変換する(Python) オンラインコンバータ 2020/07/16追記 オンラインコンバータを作ってみた。 cyanatlas.hatenablog.com はじめに:はてな記法の表と…

[Python] タプルには代入できないがタプル内リストには代入できるという話

環境:Windows10 + Python 3.7.6 リストとタプルの違い タプル内リストの落とし穴 解決策:タプル内リストを避ける リストとタプルの違い Pythonの組み込み型には、配列を表現できるリストとタプルという二つの型が用意されている。この二つには、値の変更を…

[Python][Matplotlib] 一枚の図に複数のグラフを描く

はじめに 1. add_subplot メソッドを使う 2. Gridspec オブジェクトを使う 3. Gridspecを使えば複雑なレイアウトも可能 まとめ はじめに Matplotライブラリを使って、一枚の図に複数のグラフを描きたいときがある。ここでは二つの方法を説明する。 add_subpl…

[Python][Numpy] 組み込みのboolとNumpy.bool_は別物

Python組み込みのbool型とnumpy.bool_型は別物なので、is演算子で比較する場合は注意が必要、という話。環境:Windows10 + Python 3.7 + Numpy 1.18.1 numpy.bool_型とPython組み込みのbool型は別物 バグではない 解決策1:bool関数で型変換する 解決策2:==…

[Python][Matplotlib] sin(x)のマクローリン展開のGIFアニメーションを作る Making GIF animation of Maclaurin series of sin(x)

sin(x)のマクローリン展開 Maclaurin series of sin(x) GIFアニメーション GIF animation ソースコード Source code 関連記事 sin(x)のマクローリン展開 Maclaurin series of sin(x) GIFアニメーション GIF animation のマクローリン展開には奇数番目の項し…

[Python][Matplotlib] e^xのマクローリン展開のGIFアニメーションを作る

e^x のマクローリン展開 GIFアニメーション ソースコード 関連記事 e^x のマクローリン展開 GIFアニメーション ソースコード 実行にはImageMagickのインストールが必要。 import math import numpy as np import matplotlib.pyplot as plt import matplotlib…

[Python] product関数を使って多重ループを1つのループにする

多重ループを書くとネストが深くなり、読みにくさが倍増する。関数を使うなど、ループを浅くする方法はいくつかあるが、ここではPython標準ライブラリのitertoolsライブラリを使う方法を紹介する。例えば次のようなコードがあったとしよう。コード 1: for i …

[Python][Matplotlib] Matplotlibのデフォルトカラーセット

引数 色 16進数コード RGBコード(0~255) 'C0' blue #1f77b4 (31, 119, 180) 'C1' orange #ff7f0e (255, 127, 14) 'C2' green #2ca02c (44, 160, 44) 'C3' red #d62728 (214, 39, 40) 'C4' purple #9467bd (148, 103, 189) 'C5' brown #8c564b (140, 86, 75…

[Python][Matplotlib] 枠・軸を削除する・目盛りのトゲを削除する(Removing frames, axes and ticks)

目次 Contents ふつうに図を描く Plot with no options 枠・軸を消す Remove the frame and axes 部分的に消す Partially remove the frame and axes すべて消す Entirely remove the frame and axes 目盛りのトゲを消す Remove the ticks 部分的に消す Part…

[Python][Matplotlib] Matplotlibのデフォルト設定を取得する方法(rcParamsから値を取得する方法)

環境:Windows10 + Anaconda + Python 3.6.4 + Matplotlib 2.1.2Pythonの Matplotlibライブラリには、図のサイズや線の色といった、デフォルトの設定がある。デフォルトの設定の一部は、rcParamsというMatplotlibオブジェクトに格納されている。rcParamsの値…

[Python][Matplotlib] Customizing matplotlibの和訳(matplotlibrcファイルの設定について)

Matplotlibで設定を変更するときに、matplotlibrcファイルを直接いじることがある。その辺りの説明が書いてあるページCustomizing matplotlib — Matplotlib 2.0.2 documentationを読みつつ和訳した。 ざっくり和訳であることをご了承下さい。原文の意味は変…

[Python][Matplotlib] rcParamsのメモ

cyanatlas.hatenablog.com cyanatlas.hatenablog.com はじめに rcParamsの中身 関連記事 はじめに Matplotlibのデフォルト設定(の一部)はrcParamsというオブジェクトに格納されている。rcParamsは辞書ではないので、pprintでは出力できないが、print関数を…

[Python][LaTeX] Sympyの計算結果をLaTeXで出力する

はじめに モジュールのソースコード 使い方 1. オブジェクトの作成 2. 数式の追加 add_eq(str) add_eqs([str, str, ...], leftalign=False) add_text(str) 3. コンパイル はじめに Sympyで記号計算した結果をTeXで出力したいと思い、モジュールを書いた。Sym…

[Matplotlib][Mathematica][Matlab] グラフのデフォルトのブルー

グラフ描画用のソフトで線を描いたときの、デフォルトのブルーのかっこよさに気づいたので、いくつか代表的なグラフ作成ソフトのデフォルトのブルーのカラーコードを調べた。 目次 Matplotlib Mathematica Matlab 比較 Matplotlib MatplotlibはPythonのグラ…