Python

Python レーダーチャートを描く「matplotlib」

本記事では下図のようなレーダーチャートを作図する雛形コードを載せました。各軸の尺度が異なる場合に、形状がいびつな形になることがあります。そのような場合に対応するため、元データを0~1に正規化してグラフを描くようにしています。そして、各頂点は…

Python 整数データ(x, y)の組み合わせ数を元に等高線図を描く

本記事では、下図のような等高線図を描く雛形コードを載せました。 下図は、上図を描いた数値データです。この例では、Xの値は1~10の整数、Yの値は1~8の整数の値をとっています。上図は、その組み合わせ「頂点座標(X, Y)」の数を全体数で割った割合を等…

Python 2次元XYデータについて、指定した座標に最も近いN個の点を抽出する

下図は、本プログラムの実行例です。100個のランダムデータがあって、赤点は任意に指定したx,y座標 (0.75, 0.58)です。青点はプログラム実行によって得られた赤点に最も近いN=5個を抽出した結果です。 下図は、上記の青点のデータである。pandasデータフレ…

Python 2つのDataFrameを結合する便利な方法「merge関数」

本記事では、二つのデータフレームを結合する雛形コードを6つ載せました。はじめに、その一覧を示します。 #1. 基本的な結合: merged_df = pd.merge(df1, df2, on='key_column') #2. 異なる列名を指定しての結合: merged_df = pd.merge(df1, df2, left_on='l…

Python 「pandas」複数列を行方向に走査して、所望の文字列を検出して新規列に結果を記入する

本記事では、下図左のように複数の列「入荷1」,「入荷2」,「入荷3」を行方向に走査して、もし「りんご」の単語があれば、下図右のように新しい列「りんご」に真偽値「True」を代入する雛形コードを載せました。 下記は、上記の処理をするpythonスクリプトで…

Python グループ別データ集計「pandasのgroupby×agg」

本記事では、pandasデータフレームに対して、所望のグループ毎に統計量を計算する雛形コードを載せました。これは、groupbyのaggメソッドを用いることで簡単にできます。groupby は、データを特定の基準でグループ化するために使用されます。agg メソッドは…

Python 縦軸,横軸のラベルが文字列の場合の等高線図

本記事では、下図のような縦軸と横軸が文字列の場合の等高線図を描く雛形コードを載せました。図示するにあたって、下図例の横軸では「特大、大、中、小、極小」の順に、「0, 1, 2, 3, 4」の座標を割り当てることによって実現しています。縦軸も同様の考え方…

Python 散布図にて象限別に色分けする。またグラフ上にデータ点名を表記する。

本記事では、下図のような散布図の雛形コードを載せました。特徴は、第1から第4象限までの各象限のデータを異なる色でプロットします。また、各データポイントのデータ名を散布図上に表記します(この例では‘A’から’J’)。これにより、データを識別するのが…

Python マルチインデックスの棒グラフの横軸2段表示

Multi-Index(マルチインデックス)とは、下図のようにインデックスがOne, Twoとa, bのように複数のインデックスがあることを言います。 本記事では、上記のようなデータセットに対して、下図右のように横軸が2段表示になるような雛形コードを載せました。…

Python LINE message APIにてLINEへメッセージを送る雛形コード

本記事では、下図のようにpythonスクリプトの実行によって、LINEへメッセージを送信する雛形コードを載せました。 使用するにあたっては完全に無料ではなく、'24/4/27現在の無料プラン(コミュニケーションプラン)は、送信できるメッセージ数は月に200通ま…

Python GUIアプリのexe化「pyinstaller」の場合

本記事では、tkinterやpyside6などで作成したGUIアプリのpythonスクリプトをソフトウェア(デスクトップアプリ)として実行可能な形式(Windowsならexe, Macなら.app)にする方法を載せました。本記事では「pyinstaller」について述べます。 有名どころのラ…

Python PySide6によるGUIアプリの作成

本記事では、PySide6でデスクトップアプリを作成する雛形コードを載せました。本アプリの動作検証用のサンプルのexcelファイルと雛形コードは、次のgithubにアップしています。https://github.com/hk29-ai/template_for_GUI_app_using_pyside6 ■ライブラリの…

Python 複数の拡張子の画像ファイルを一度に取得して、リストに格納するコード例

本記事では、例えばjpg, jpeg, pngの3種類の画像ファイルを読み込む雛形コードを記載しました。 ■本プログラム import os import glob # カレントディレクトリの取得folder_path = os.getcwd() # 画像ファイルをリストで取得files_path = glob.glob(os.path…

Python 辞書からpandasデータフレームを作成するパターン別雛形コード

'24/04/06更新:雛形コードを追加した。本記事では、辞書からpandasデータフレームを作成する雛形コードを3パターン載せました。 ■その1. 下図のように、キーに対してバリューが1つの場合の辞書データがあります。これからキーとバリューを列に設定したデー…

Python pandasで指定列に対して、上位N個もしくは下位N個の行を抽出する

ソートせずに、メソッド「df.nlargest」、「df.nsmallest」を使うことで簡単にできます。具体例で示します。下図のような506行×14列のデータがあります。この右端の列「PRICE」の上位25個、下位25個のデータ行をそれぞれ抽出します。 まずは、上位25個の行デ…

Python 指定したワードに対する関連キーワードをGoogle Trendsより抽出する

下図はpythonライブラリpytrendsを用いて、ワード「株」を指定して、ここ1週間の関連ワードを抽出した結果です。ターゲット期間は、日, 月, 年単位で指定できます。 ■ライブラリのインストール pip install pytrends ■本プログラム from pytrends.request i…

Python PDFに複数の画像ファイルを1ページに貼り付ける枚数を指定して出力、またワードへ変換する。

本記事では、pythonにて複数の画像ファイルを1ページに並べる数を指定してpdfに貼り付けて保存し、さらに作成したpdfファイルをMicrosoft OfficeのWordへ変換する雛形コードを載せました。使用するライブラリは「pillow」「reportlab」「pdf2docx」です。 下…

Python ワードに複数の画像ファイルを貼り付ける。各ページ4枚, 6枚の場合の雛形コード

本記事では、Pythonにて複数の画像ファイルをMicrosoft OfficeのWordに貼り付ける雛形コードを載せました。使用するライブラリは「python-docx」と「Pillow」です。 雛形コードは下記①②で、画像ファイルを各ページに4枚ずつ貼り付ける場合と6枚の場合の2パタ…

Python パワーポイントに複数の画像ファイルを1スライドあたりに指定列数ずつ貼り付ける

本記事では、Pythonにて複数の画像ファイルをMicrosoft OfficeのPowerPointに貼り付ける雛形コードを載せました。1スライドあたりに貼り付ける列数を指定することで、画像サイズを自動で調整します。そして、貼り付ける行方向の枚数を自動で算出して、1スラ…

Python 指定した地域名の緯度経度を取得する。さらにそれを中心とした四角形を地図上に描く「folium」

本記事では、国土地理院の無料のAPIを利用して、指定した地域名の緯度と経度を取得する雛形コードを載せました。そして、ライブラリ「folium」を利用して、下図のように抽出した緯度と経度を中心座標として矩形を描く雛形コードを載せました。 国土地理院のA…

Python スプライン曲線を作成し、その線上の多数の点座標をcsvファイルに出力する

本記事では、下図のようなスプライン曲線を作成する雛形コードを載せました。 上図左のスプライン曲線の作成コード部分には、https://teratail.com/questions/279780#reply-398529 を引用しています。本プログラムでは、上図右のようにスプライン曲線上に任…

Python Google Earth Engine(GEE)を用いてNDVI(植生指数)を図示する

本記事では、Google Earth Engine(GEE)を用いて、下図のような衛星画像と 正規化植生指標(NDVI, Normalized Difference Vegetation Index)を取得する雛形コードを載せました。 下図は鳥取砂丘の周辺の地区について、2023年の4月,8月,12月の衛星画像とNDV…

Python Google Earth Engine(GEE)を使用した地図上に、指定した区域を描く

Google Earth Engine(GEE)は、地球の様子を衛星画像によって可視化、分析できる地理空間分析のプラットフォームです。クラウドベースでデータを取得します。 本記事では、指定した区域を描く雛形コードを載せました。下図例では滋賀県の市町村の境界を色分…

Python 日本地図や、指定した都道府県の地図を描く「geopandas」

本記事では、下図のように地図を描く雛形コードを載せました。 日本地図のデータは下記リンク先にある「全国」より取得できます。都道府県の地図データは「全国」から抽出することができますし、個別に「都道府県名」より取得することもできます。 nlftp.mli…

Python 複数のグラフを並べて1枚の画像に出力する

本記事では、下図のように複数のグラフを1枚の画像にして保存する雛形コードを載せました。グラフ配置の列数は任意の数に指定できます。 例えば、下図は4列にした場合です。 そして、下図は3列に指定した場合の例です。 ■本プログラム import os import math…

Python 急上昇ワードを抽出する。GoogleトレンドAPI「pytrends」

pythonライブラリ「pytrends」を用いることで、Googleトレンドにおける直近の人気キーワードを容易に抽出することが出来ます。下記はそのライブラリのHPで、公式ではないAPIです。 github.com ライブラリのインストールは次の通りpipでします。 pip install …

Python 楕円の周の長さと面積を求める「scipy」

本記事では、楕円の半径A, Bの値を用いて、楕円の周の長さと面積を求める雛形コードを載せました。 下図は本プログラムの実行例です。A, Bに5, 3の場合に、楕円の周の長さは25.53, 楕円の面積は47.12との結果を表示しています。 ■本プログラム クラスを用い…

Python データ「x,y,z」から等高線図を作成する。

本記事では、下図左のような3列のデータから、下図右のような等高線図を作成する雛形コードを載せました。 ■本プログラム import pandas as pd import numpy as np from scipy.interpolate import griddata import matplotlib.pyplot as plt import japaniz…

Python subprocessにて引数に辞書やリストを用いたい場合

subprocessを用いてpythonスクリプトを実行したい状況があるとします。引数に、辞書やリストを設定したい場合は、一旦JSON文字列へ変換してから引数として渡します。 下図中の上の行はpythonの辞書型の例です。これを、json.dumps()でJSON形式の文字列へ変換…

Python 生成AI:画像から類似画像を生成するためのテクニック「Stable Diffusion」

本記事では、Pythonを用いた画像生成AIの雛形コードを載せました。例えば、下図のような手書きの画像があります。 図1. 手書きによる画像 本プログラムを実行すると、上図1を元にした下図5つのような生成AIにより類似の画像を生成します。 図2. 生成AIによ…