2020-01-01から1年間の記事一覧

Python 微分積分いい気分(^^♪「Sympy」

'21/06/13更新:インタラクティブ環境(例, JupyterLab)で使いやすいように記事の構成を刷新しました。 本記事では、Sympyで簡単に微分,不定積分,定積分の式や解を出力する雛形コードを記載しました。ライブラリのインストールは次の通りです。 # pipの場合…

Python グラフ化/複数列抽出/列計算/列方向連結/列方向ソートする方法「pandas」

本記事に記載してるコードの仕様説明をします。下図のようなcsvファイルがある。 aaa,bbb,y,x,ccc 0.01,1,100,1,10 0.025,2,40,2.5,9 0.05,3,20,5,8 0.075,4,13.33333333,7.5,7 0.1,5,10,10,6 0.2,6,5,20,5 0.3,7,3.333333333,30,4 0.4,8,2.5,40,3 0.5,9,2,5…

Python ファイル暗号化「画像ファイル/XOR演算/MACアドレス」の3つを利用した方法

本記事では、ファイルを暗号化する方法と、それを復元する方法について記載しています。 下図は、本プログラム実行前の状態です。ファイルが3つあって、一番左が暗号化に利用する画像ファイル「key.jpg」、中央の「secret_data.csv」が暗号化したいデータフ…

Python 高速フーリエ変換(FFT)による周波数解析「SciPy」

高速フーリエ変換(FFT:Fast Fourier Transform)は、離散フーリエ変換を高速に解くアルゴリズムのことです。 本記事では、合成波から個々の周波数を抽出する雛形コードです。以前、記事にしたPython ねこふんじゃったを演奏する「PyAudio」 - HK29’s blogで…

Python ねこふんじゃったを演奏する「PyAudio」

'20/06/13更新:音が多少ずれてたのを修正しました。 ライブラリpyaudioのインストールは下記のようにcondaで出来ます。 conda install pyaudio 音は波(三角関数sin)です。音階は周波数の違いで表現できます。そのため、楽譜に沿って、ドレミファソラシド…

Python ファイルやフォルダ操作 覚えておくべき19の方法

'21/08/01更新 本記事では、ファイルやフォルダの頻出操作19の雛形コードを載せました。1. フォルダパスやファイルパスをos.path.join()で作成する方法2. 逆に、ファイルパスやファイル名をos.path.filename()で取得する方法3. ファイルの操作関連 ・ファイ…

Python 「Pytorch」によるニューラルネットワーク回帰分析

本記事は、Pytorchのインストール方法とコードの雛形について載せました。 ▼インストール手順はじめに、下記リンクの本家webページへ飛びます。 pytorch.org 次に、リンク先で下へスクロールすると、下図のようなのが出現するため、自分の使用しているPC環境…

Python 近似式を作成してグラフに記入する方法「Numpy×SciPy」

'21/10/04更新:汎用性を高めるため、関数の引数を変更しました。3つの引数は順に、pandas DataFrame, X軸に指定する列名, Y軸に指定する列名です。 本記事では、下図3つのような近似式を作成する雛形コードを載せました。scipyのoptimize.curve_fitを利用し…

Python Anaconda環境をコピーする。その環境下でTensorFlowをダウングレードする手順

本記事では、Windows環境でAnaconda Promptによって、Anaconda 仮想環境を複製する方法について記載しています。 コピー環境の活用方法は、例えば、あるライブラリをダウングレードしないとエラーで動かないライブラリがある場合などです。例として、TensorF…

Python 自作シューティングゲームを作成する「Pygame Zero」

本記事では下図のような横動きのようなシューティングゲームのコード例を記載しました。下図左のピンク色の一つ目が、主人公のエイリアンです。右のピンク色のはボスで螺旋回転弾を放ちます。そして、中央付近に見える隕石は右から左へ流れてきます。ぶつか…

Python PDFファイルをページ毎に分割/日本語テキストを抽出/画像を抽出する方法

本記事では、題目を成すための方法について、「PyPDF2」「pdfminer.six」「fitz」「PyMuPDF」の4つのライブラリのインストール方法とコード例を載せました。1. PDFファイルをページ毎に分割して.pdfで保存する「PyPDF2」 pip install PyPDF2 2. 日本語テキス…

Python 複数列を指定して、2軸の散布図を作成する「Matplotlib」

'22/05/03更新:コードを簡潔に見直しました。 本記事では、2軸プロットの散布図を作成する雛形コードを載せました。例えば、下表のような複数列のcsvデータがあったとします。x軸に列名「time」, Y軸の第一軸に列名「linear」, Y軸の第二軸に列名「log」を…

Python 輪郭の検出とその座標の抽出「OpenCV」

本記事では、画像ファイルの物体の輪郭を抽出する雛形コードを載せました。検出手法を関数として4つ載せました。いずれも処理の大まかな流れは、2値化してしきい値で判別します。その2値化が画像に依っては難しいのです。 そのため、毛色の異なる次の2つのリ…

Python 二変数関数の等高線図、3D図を描画する方法

'20/08/10更新:記事とコードを若干編集しました。 本記事では、2つの方法について雛形コードを載せました。■1. numpyのndarray型の「二重配列」でデータセットしてグラフ化する方法二変数関数について、等高線図と三次元図を描画した例が下図5つです。 ■2. …

Python テキストを日本語音声で読み上げる「gTTS」

gTTSとはGoogle Text-to-speechの略で、Google Translate’s text-to-speech APIを利用したPythonライブラリである。日本語読み上げにも対応している。このライブラリのインストールは下記のようにpipで行う。 pip install gTTS 実行は下記のように、至って簡…

Python 「matplotlib」や「seaborn」のグラフ内で日本語表示する

# '20/01/31更新:多少見易く書き直しました。 1⃣日本語フォントをpipでインストールする pip install japanize-matplotlib 2⃣スクリプト内でそれをインポートする import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt import seaborn…

Python 多目的最適化「Platypus」のスクリプトをアルゴリズム別に作成する

# '20/02/16更新:パレート解に判断基準線を加えることができるようにした。 多目的最適化のフレームワーク「Platypus」については以前に述べた→Python 多目的最適化「Platypus」:自作モジュールの回帰モデルを読む場合 - HK29’s blog 本記事では、これを複…

Python 強化学習ライブラリ「OpenAI Gym」

本記事ではAI学習を簡単に体験することが可能なライブラリ「OpenAI Gym」のインストール方法と実行例について載せる。 ▼本コードの実施例…インベーダーゲームで敵にやられないように自動で学習している様子 www.youtube.com ▼インストール手順(Windows)(1) $…

最適化ライブラリで最大化, 最小化メソッドしかない場合の目的関数の設定方法

# ’20/01/19更新 例(4)を追記 本記事ではPythonに限らない話である。例のためPythonの多目的最適化のフレームワーク「Platypus」を挙げると、最大化問題を解くProblem.MAXIMIZEと、最小化問題を解くProblem.MINIMIZEの二つがある。最大化問題とは、例えばy=f…

Python ベイズ最適化によるハイパーパラメータの調整「Bayesian Optimization×TensorFlow」

本記事では、テンソルフローで作成するニューラルネットワーク回帰分析のハイパーパラメータを調整する雛形コードを載せました。Pythonのベイズ最適化ライブラリはいくつかある中で、本記事では「Bayesian Optimization」を用いました。GitHub - fmfn/Bayesi…