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

Python 格子点(グリッド)を線形補完して等高線図を作成する「scipy.interpolate.griddata」

'22/03/24更新:等高線の数を指定数に、等間隔に自動分割する機能を追加。 等高線図を作成するためのcsvファイルを準備します。実験データやシミュレーションデータを想定しています。下図はそのcsvファイルの例で、少なくともx,y,zの3列が必要です。グラフ…

Python 行名と列名を指定して、その要素を抽出する「pandas」

'21/08/26更新:説明を補足しました。 本記事では、csvファイルをpandasで読み込み、指定した行名(index)と列名(columns)の要素を抜き出す雛形コードを載せました。行数や列数はいくらでも構いません。 下図のようなcsvファイルがあったとします。これを…

Python DOE水準表を作成してcsvファイルに出力する

'23/11/05更新:コードの可読性を向上させました。 本記事では、Pythonで任意の数の組み合わせによるDOE(実験計画法)を作成する雛形コードを載せました。 使用方法は、本コード中にある「param_dict」と名付けた辞書に、作成したい水準の各パラメータを設…

Python モンテカルロシミュレーションにより円周率π=3.14を導く

モンテカルロ法とは乱数を用いて行うシミュレーションの手法のことです。本記事の内容は、ググったら出てくるような内容をPythonを用いて実行できる雛形コードを載せました。本コードの特徴は次の2つです。1. 乱数を一様乱数の場合と、正規乱数の場合で実行…

Python Anacondaのインストールと仮想環境を操作する頻出コマンド9つ

■Anacondaのインストール インストーラーは、次のリンク先の一番下程にあります('20/08/02現在)。https://www.anaconda.com/products/individual Linuxの場合は、上記の 64-Bit (x86) Installer (550 MB) をクリックすると、Anaconda3-2020.07-Linux-x86_6…

Python 環境変数Pathのパスを削除・追記する/指定した環境変数を削除・追記する「os.environ」

'20/07/23更新:汎用性を高めたコードに更新しました。 本記事では、例えば、アプリケーションの動作検証のため、一次的に環境変数を変更してテストしたい場合に有用です。具体的には、稼働中のPythonプロセスにおいて、環境変数Pathのパスを調べるだけでな…

Python 数列のリストを作成する「Sympy」

本記事では、等差数列や等比数列のリストを作成する雛形コードを載せました。下図上のリストは、初項1で交差5の等差数列、下図下のリストは、初項1、公比3の等比数列です。 ■本プログラム # -*- coding: utf-8 -*- #!/usr/bin/env python from sympy import …

Python 複数のCADファイル(.step)をメッシュファイルへCUIで自動生成する「Netgen」

'22/05/21更新:複数のソリッド領域があって、それらが接合している場合に2重節点の防止を選択できるように雛形コードに追記した。 FEMなどのシミュレーションで使用するメッシュ生成ツールのひとつにオープンソースのアプリケーション「Netgen」があります。…

Python 複数のCADファイル(.step)をメッシュファイルへCUIで自動生成する「Gmsh」

'22/05/21更新:雛形コードを可読性のために若干見直し 本記事では、CADファイルの汎用形式(.step)をPythonライブラリの「Gmsh」を用いてメッシュ分割する雛形コードを載せました。出力するメッシュ形式は、Gmshフォーマット(.msh)と市販のFEMソフトAbaqus…

FreeCADのインストール方法「WindowsとLinux」2022年度

'22/06/18更新:現時点の最新版はver0.20 本記事では、FreeCADのインストール方法について記載しました。ダウンロードは、次のリンク先(github)から入手できます。https://github.com/FreeCAD/FreeCAD/releases ■Windowsの場合 上記リンク先を下へスクロー…

Python 指定番目に列を挿入する「pandas」

例えば、0列目(一番左の列)へ挿入する場合の例は下記です。 df.insert(0, '列名', 挿入するデータリスト) これを活用した雛形コードを残します。例えば、下表のようなcsvファイルがあったとします。 #Name x_min x_max y_min y_max A 3 4 -1 -1 B 3 4 1 1 …

Python グラフに横線(縦線)とテキストを挿入する方法「matplotlib」

'22/05/03更新:コードに冗長な箇所があったのを若干短くした。 本記事では、散布図や折れ線図等で判断基準線が視覚的にわかるグラフを作成する雛形コードを載せました。下図のように、グラフ中に1. 赤色の横点線を入れ、2. 「判断基準1000以上」等とテキス…

Python リスト内の要素を指定した間隔「等差数列」でスライスする

偶数番目の要素をスライスする場合は、list[::2]、奇数番目は、list[1::2]とします。Pythonの配列(リスト)は0番目から始まることに注意です。実施例を下図に示します。 そして、list[::3]とすれば、下図のように2つ飛ばしの要素を抽出した新リストを作成で…

Python 画像ファイルpngをjpgへ変換する「Pillow(PIL)」

本記事では、複数のpng画像ファイルをjpgへ変換するコードを載せました。pngがあるフォルダを指定することや、jpg変換先フォルダを指定すること、オリジナルpngファイルを削除するかを指定することも可能です。処理過程は下図のようにprint出力する仕様です…

Python 画像中の文字認識をして、テキストへ出力する「pyocr/Tesseract-OCR」

光学文字認識の技術であるOCR(Optical Character Recognition)を使用します。 ▼必要なライブラリとソフトのインストール 1. pyocrをインストールするpip install pyocr 2. tesseract-OCRをインストールするWindowsは下記リンク先にexeファイルがあります。 H…

Python 円周率が3.05より大きいことを証明せよ(東大の入試問題)をプログラムで確かめる

πの定義は、円の面積=πr^2 もしくは、円周=2πrです。このいずれかを用いて証明することになります。 下図は正六角形と正十二角形の図です。多角形になる程、円に近づく様子がわかります。 下図は、その一辺を計算する方法です。円周=2πrを証明することに…

Python グラフのy範囲を最小値0、最大値は自動設定にする方法「matplotlib」

デフォルト設定でグラフを作成すると、軸の最小、最大の範囲は自動で設定されます。例えば、下図のように縦軸yの最小値が0にならない場合が普通です。これは、散布図や棒グラフ等で何かしら比較したい場合に、一見大きな差があるかのようなグラフの仕上がり…

Python 2Dレトロゲームを作成する「Pyxel (ピクセル)」

Pyxel (ピクセル)は、2Dレトロゲームを作成するPythonライブラリで日本人が作者のようです。以前、記事にしたPygame zeroPython 自作シューティングゲームを作成する「Pygame Zero」 - PythonとVBAで世の中を便利にするとの違いは、キャラクターをドット絵で…

Python Keras(TensorFlow2.0)によるリカレントニューラルネットワーク,RNN

リカレントニューラルネットワーク,RNN(Recurrent Neural Network)は、日本語で再帰型ニューラルネットワークと呼び、時系列データのパターン認識、例えば、自然言語応答処理、株価予測などに活用されます。 本記事では、株価予測を例題に雛形コードを載…

Python 株価データの欠損値をその前後の値で補完後、単純移動平均を算出する「pandas」

'20/05/16更新:移動平均計算を2つ→3つに増やし、計算によって生じた欠損値の行を削除してcsvファイルに出力する仕様に更新した。 本記事では、下図のような単純移動平均のグラフと、そのデータをcsvファイルで保存する雛形コードを載せています。 ●株価デー…

プログラミング学習法 Python & ExcelVBA

記念すべき!?本ブログ101記事目は、プログラミング学習法について記載します。要は、次の3つの繰り返しです。① 本を読んで情報収集 特定の項目の情報を網羅的に得るため。ネット検索だけでは、自分の関心あること以外はスキップしがちになり、新規発見を逃…

Python Keras(TensorFlow2.0)による畳み込みニューラルネットワーク,CNN

畳み込みニューラルネットワーク, CNN(Convolutional Neural Network)は、画像分類において、画像の位置ずれに強くしたNNです。そのため、画像認証のマルチクラス分類に活用されます。特徴は、2次元フィルタによる畳み込み層と(最大)プーリング層の2種類の…

Python ファイルの存在をチェックし、有れば更に指定文字列にある値を抽出して別ファイルに書き出す

本コードの実施例を次に示します。例えば、下図のように4つのファイルがあるとします(数はいくらでも構わない)。 本コードを実行すると、下図のようなデータを別ファイルへ書き出す仕様です。 ■本プログラム ①辞書型のキーと値を同時に取り出す場合: for …

Python 【RPA】再帰的にWebページを完全な「html」または「mhtml」で自動保存する

本記事では、PythonでRPA(Robotic Process Automation)を行う実施例を載せました。はてなブログ記事をサイトマップ「sitemap.xml」から、全自動で保存する雛形コードで動作例は次の動画です。 www.youtube.com 手法は、前提としてChromeブラウザを使用しま…

Python 株価を取得するAPI「yahoo_finance_api2」

本記事では例えば、下図のように1年分の株価データをダウンロードして、グラフ化とcsvファイル化するコードの雛形を記載しました。 ライブラリのインストールは下記のようにpipで行います。 pip install yahoo_finance_api2 ■本プログラム #!/usr/bin/env py…

Python pdfファイル内の表を読み取る「camelot」

本記事では、下図のようなpdfファイル中に表がある場合に適用する。下図例は愛知県内の感染者・遺伝子検査件数 - 愛知県よりダウンロードできる('20/04/22現在)。 表を抽出するに必要なライブラリ「camelot」は下記のようにpipでインストールします。 $ pi…

iPhoneからWindows 10 PCへ写真や動画を転送する初期設定

本記事では、「このデバイスに到達できません」や「システムに接続されたデバイスが機能していません」のエラーが出る場合の対処方法について記載しました。この原因は、ファイル転送中に互換性のあるファイルフォーマット変換に失敗してるためです。次の1~…

Python matplotlibで点を動かすアニメーションを作成し、gifもしくはmp4で動画保存する

'20/07/26更新:gifだけでなくmp4でも動画保存できるようにしました。またfpsも指定できます。 アニメーション作成には、matplotlib.animationを使用します。動画保存にはgifの場合はimagemagick、mp4の場合はffmpegを使用します。 ■本プログラム import num…

Python マクロファイルを複製して実行するスクリプトの雛形コード

本コードの実行例を示します。下図中の「do.py」が本プログラムで、それ以外の「macroA.py」「macroB.py」「macroC.py」がオリジナルのマクロ(スクリプト)ファイルとします。 本プログラムを実行すると下図のように、マクロ(スクリプト)ファイルを複製し…

Python 台車駆動型倒立振子を作成する「matplotlib.animation」

本記事では、下記リンク先のような振り子動画を作成します。 www.youtube.com 動画を保存するためのgif出力は、ImageMagickを使用します。インストールは下記リンクで、Windows版はexeファイルを実行します。http://www.imagemagick.org/script/download.php…