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

Bash 変数から指定範囲の文字列を抜き出す

本記事では、例えば、data_12.csvの文字列変数に対して、6番目から2つまでの文字列12を抽出する雛形コードを載せました。下図はその結果例です。12を抜き出して、拡張子に.txtをしてシンボリックリンクを貼っています。 ■本プログラム #!bin/bash my_file="d…

Python カテゴリ別に平均や標準偏差などの統計量を算出する「pandasのpivot_table」

本記事では、表題の雛形コードを載せました。下図は、機械学習で有名なタイタニックのデータセットです。これを例に説明します。 例えば、インデックスにPclass(チケットクラス)、列名にSex(性別)にして、平均値や標準偏差を算出して表にしたい場合に下…

Python グラフの凡例に指定したい色を設定する

'21/12/05更新:折れ線図だけの場合の雛形コードも追記しました。 本記事では、凡例(legend)の順番に従って段階的に変化した色を適応したい場合の雛形コードを載せました。 下図の例では、凡例が0, 1, 2の3つあります。これらが水色から紫へと段階的に変化…

Python 交互作用図を作成する「interaction_plot」

'22/06/10更新:グラフの体裁のため、雛形コードを多少編集しました。 本記事では、下図のような交互作用図を作成する雛形コードを載せました。縦軸は、出力指標Yのデータ平均で,横軸と凡例は入力因子Xです。 例えば、凡例によって線の傾きが異なることがあ…

Python ファイルパスからフォルダパス,フォルダ名,ファイル名,拡張子,拡張子なしファイル名を取得する「pathlib」

'21/12/11更新:新しいファイルパスをリストから作成する方法に変更した。またzip圧縮するコードも追記。 本記事では、下図のようにファイルパスからフォルダパス,フォルダ名,ファイル名,拡張子,拡張子なしファイル名を取得する等の雛形コードを載せまし…

Python 欠損値分析「pandas × missingno」

本記事では、欠損値(NaNや空欄など)をグラフで可視化する「missingno」の雛形コードを載せました。はじめに、インストール方法は次の2通りです。■pipの場合 pip install missingno ■Anacondaの場合 conda install -c conda-forge missingno 本記事で使用し…

Python 実行回数をカウントする。ジェネレータ関数の使い方

本記事では、ジェネレータ関数の記述例を載せました。例えば、あるプログラムの途中で、ある関数が実行された回数を数えたい場合があったとします。この時、同時にこのジェネレータ関数オブジェクトを実行することで実現できます。(もしくは、実行したい内…

Bash シェルスクリプト内で小数点計算をするため、python -cを使用する方法

バッシュスクリプト(Bash Script)の計算では、小数点は切り捨てられて整数になります。例えば、7/4=1.75ですが、bashでは1になります。そこで、スクリプト内でパイソンコマンド(Python Command)の-cを用いることで1.75と計算できます(下図)。 ■本プロ…

Python 小数点以下の桁数で四捨五入する「Decimal」

標準モジュールのdecimalをインポートして使用します。 from decimal import Decimal, ROUND_HALF_UP pai = 3.141592 # 四捨五入して小数第3位までの数字にする(小数第4位を四捨五入) a = Decimal(str(pai)).quantize(Decimal('0.001'), rounding=ROUND_HA…

Python 3次元データを2次元散布図で表記する

本記事では、下図のように3次元データを2次元散布図で表現する雛形コードを載せました。 例題に使用したデータは機械学習でお馴染みのボストンデータセットです。図例では、X軸にRM(部屋数)、Y軸にLSTAT(低所得者の割合)、(Z軸)カラーにPRICE(部屋の価…

Python 確率によって分岐する関数の作成

例えば、コインの表(omote)と裏(ura)の出現確率は、通常50%である。しかし、コンピュータ上でその確率に差を設けることができる。下図は、omoteの確率を10%、uraの確率を90%に設定して、20回試行した結果である。明らかに、omoteの出現数が少ないこと…

Python 重複プロット点を避ける散布図+近似式

本記事では下図のような散布図を作成する雛形コードを作成しました。これは、seabornのregplotメソッドで、x_jitterを使用することでできます。jitterはゆらぎです。 上記の元データは下図のようなcsvです。x列が横軸にプロットするx値、y列が縦軸にプロット…

Python Excelセルに数式を書き込む。さらに棒グラフを作成する「OpenPyXL」

下図は、例題用に適当に作成した月別のぶどうの売り上げ表です。A列に月、B列に商品単価、C列に売り上げ個数としたエクセルファイルです。 本プログラムを実行すると、下図のようにD列に月別の売り上げをセルに数式で書き込みます。この時、D列の最終行に合…

Windows .msiを管理者権限で実行してインストールする方法

インストーラがmsiファイルの場合、「管理者として実行」は右クリックでは存在しません。管理者として実行するには、コマンドプロンプトでCUIで実行します。 コマンドプロンプトは、下図中の左下の虫眼鏡で「コマンドプロンプト」と打てば候補として出てきま…

Python 複数のテキストファイルを兎に角、ひとつのファイルに書き出す

下図のように、行列数の異なるcsvファイルが複数ある。 本プログラムを実行すると、兎に角、下図のようにひとつのテキストファイルに書き込みます。 ■本プログラム #!/usr/bin/env python # coding: utf-8 # In[1]: import glob import pandas as pd file_li…

Python MOVをmp4へ変換する。ffmpegをsubprocess.callで呼び出す

動画ファイル.movを.mp4へ変換するには、ffmegをコマンドラインで実行するのが簡単です。これをPythonスクリプト内で実行したい場合の雛形コードを載せました。subprocess.call()を使用します。 ■本プログラム import os import subprocess as sp input_file…

Python 音声付きの逆再生動画を作成する

本記事では、mp4動画から逆再生する動画ファイルを作成する雛形コードを載せました。使用するライブラリは4つで、OpenCV, Pillow, MoviePy, Pydubです。 それらのインストールはpipで次のようにします。 pip install opencv-pythonpip install Pillowpip ins…

Python バイオリン図と箱ひげ図を同時描画する「ptitprince」

本記事では、下図のようにviolin plot と box plot を同時プロットする雛形コードを載せました。ライブラリ「ptitprince」を使用します。 使用したサンプルデータは、機械学習でお馴染みのアイリスデータセットです(下図)。x軸にspecies列をy軸にsepal_width…

Python 2列からなるデータに対して、カテゴリ別にデータを抽出する「pandasのgroupby×apply」

下図のような2列のデータがある。Label列には A, B, Cという3つのカテゴリがあり、それぞれに対応しているNo列の数値をリストで抽出する雛形コードを載せました。 本プログラムを実行すると、下図のようなデータを得ることができます。A, B, Cに属している数…

Python リストからn個ずつ取り出す

下図のようなリストがある。要素は15個。 本プログラムを実行すると、下図のように4つずつ取り出してタプルに格納します。 ■本プログラム import numpy as np # Noリスト化を作成する No_list = np.arange(1, 16, 1).tolist() print(No_list) # リストからn…

Python 「Sweetviz」探索的データ解析EDAを数行で行う

本記事では、EDA(Explanatory Data Analysis)を簡単に行うライブラリ「Sweetviz」を使った雛形コードを載せました。 例えば、csvデータから機械学習で使うために訓練データとテストデータを分けた後、その出来栄えを可視化します(下図例)。この例では、…

Python pandasのprint表示設定「set_option」

パンダスデータフレームでプリント表示すると、通常は全部表示されない。例えば、下図の場合には行番号が0~4の5つと、501~505の5つだけが表示されている。 そこで下図のようにデータ行列数を取得して、その数をset_optionで指定することで全部表示できます。…

Python TensorBoardをJupyter上で使用する

本記事では、TensorBoardを使う雛形コードを載せました。下図例はJupyterLab上で、tensorflowはv2.4.1で動作確認しています。 分析内容とそのコードの元は次のリンク先です。違いは、タイトル通りにJupyter上でインタラクティブに、そしてTensorBoardを使う…

Python 2次元ヒストグラムの作成

本記事では、二次元ヒストグラムを作成する雛形コードを2種類記載しました。例題に使用したのは、機械学習で有名なBostonデータセットです。横軸に部屋数「RM」、縦軸に住宅価格「PRICE」を用いました。分布は数を表します。 下図例は、matplotlibのhist2dを…

Python Linux環境下でのRPA「pyautogui」

本記事では、Linux環境下で、Pythonとそのライブラリ「pyautogui」を用いてRPA(Robotic Process Automation)する例として、LibreOffice Calcを操作する雛形コードを載せました。仮想ソフトVirtualBox上のUbuntuで動作確認しています。 ソフトウェアの起動に…

Python Windows環境下でのRPA「pyautogui」

'21/08/15更新:RPAで操作対象アプリを最前面へアクティブ化する関数を追加 本記事では、Windows環境下で、Pythonとそのライブラリ「pyautogui」を用いてRPA(Robotic Process Automation)する例として、メモ帳とエクセルを操作する雛形コードを載せました。 …

Python Excelセルの行列範囲を自動判別して抽出する「openpyxl」

本記事では、下図のようにエクセルファイル中の先頭行ではなくて、中途半端な位置に表データ(行列範囲)がある場合に、特に適用します。この行列範囲を自動で判別して、抽出してpandasデータフレーム形式へ読み込む雛形コードを記載しました。 その仕組みは…

Python ExcelVBAマクロファイルを実行する「pywin32(win32com)」

本記事では、Excelマクロファイル(.xlsm)をPython(.py)で操作する雛形コードを載せました。まずは、WindowsアプリをPythonで操作するライブラリpywin32(win32com)をpipでインストールします。 pip install pywin32 anaconda環境下では次のようにしてインス…

Python 外部プロセスによってバッチ処理する「subprocess.run()」

'23/11/04更新:python3.7以上に対応したコードに刷新しました。 本記事では、Pythonスクリプト内で、外部プロセス(子プロセス, サブプロセス)を実行したい場合の雛形コードを載せました。外部プロセスのコマンド処理の完了を待つ場合、「subprocess.run()…

Python 人を検出してモザイク処理する動画編集「OpenCV」

本記事では、下記リンク先のように人(全身)にモザイク処理する動画編集の雛形コードを載せました。ライブラリは「OpenCV」を活用します。 www.youtube.com 人の全身の他に、顔、目だけなどといったカスケードファイル(学習済み分類学習器)を用いることで…