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

Python 2つのリストから共通でない要素を抽出してリスト化する

'21/12/17/更新:集合setを使用した場合の雛形も追記して、2通りの方法を記載しました。 ひとつ目は、リスト内包表記で出来ます。リストAとリストBの差をリスト化します。 import numpy as np A_list = np.arange(0, 10, 1).tolist() B_list = [0, 1, 2, 3, …

無料はてなブログ×「Google AdSense/もしもアフェリエイト」収益化

本記事では、私の実体験による「無料はてなブログ」で行うアフェリエイトに関して記載しました。 ■本ブログの内容 主にPythonプログラミングについて記載しています。ブログの種類は専門ブログに分類され、日常の出来事などを書く雑記ブログとは異なります。…

Python 改行コードLFのテキストファイルを作成する

次のように、newline="\n"を入れます。 with open('test_LF.tsv', 'w', newline="\n") as f: すると、下図のように改行コードをLF(ラインフィード)で作成できます。 newline="\n"を入れない場合は、下図のように改行コードはCRLFになります(Windowsの場合…

Python ひとつのcsvからX軸と「Y軸にしたい複数列」を指定して、ひとつの散布図を作成する

'22/05/03更新:コマンドライン向け、JupyterLab向けの雛形コードを載せました。 本記事では、下図のような散布図を作成するコードを載せました。フォントサイズ、散布図、折れ線図、ラベル、タイトル、凡例の指定ができて、jpgファイルに保存する仕様です。…

Python 複数のcsvからX,Y軸にしたい列名を指定して、ひとつの散布図を作成する

'21/06/15更新:グラフ化のオプション設定をいくつか追記しました。 複数のcsvファイルから下図のような散布図一枚を作成する雛形コードを載せました。 下図は、csvファイルの例です。一行目がヘッダーでなくても、データ開始行が2行目でなくても、pandasだ…

Python 複数ファイル名の番号順に、ファイルをソート(並び替え)する

'23/02/28更新:使い勝手を考慮して関数にしました。引数をファイルパスリストにして、戻り値はソートされたファイルパスリストで返します。 本記事では、下図のようにファイル名の番号順にソートする雛形コードを載せました。OS上では、ファイル名は文字列…

Python 株価を予想する。時系列予測ライブラリ「Prophet」

Prophetは、Facebookが開発した時系列予測ライブラリです。この予測手法は、時系列データy(t)をトレンド(t)+季節性(t)+イベント(t)+誤差(t)の合成として分析して予測モデルを構築します。つまり、それらをハイパーパラメータとして予測モデルを調整できます…

Python 機械学習のためのデータ前処理の前の下処理。頻出16「pandas」

本記事では、データの前処理以前に使用する16個の雛形コードを載せました。例えば、csvファイルを読み込み後に必要な列だけを抽出したり、列を指定して単位を変換したり、特定の列の特定の数値を欠損値NaNに変換したり、行列散布図や基本統計量で飛び値のチ…

Python 多目的最適化「Optuna」

'21/03/03更新:浮動小数点以外の型の場合の制約条件「カテゴリ変数、整数、対数、離散値」の設定例を追記しました。 本記事では、Optunaを使った多目的最適化の雛形コードを載せました。 Optunaは、オープンソースの機械学習モデルのハイパーパラメータを自…

Python 回帰モデルの最小値or最大値をベイズ最適化により探索する「PyCaret×GPyOpt」

本記事では、回帰モデル(目的関数)の最小値もしくは最大値をベイズ最適化のライブラリ「GPyOpt」で探索する雛形コードを載せました。最適結果に加えて、最適解の探索過程の目的変数と説明変数の履歴もcsvファイルに保存する仕様です。 はじめに、回帰モデ…

Python read_csvで柔軟に読み込む主要引数一覧「pandas」

'21/09/09更新 本記事では、テキストファイルを柔軟に読み込むために、read_csv()の主要引数オプションの雛形コードを載せました。 データのテキストファイルの列間はカンマ、もしくはタブやスペースなど様々な方法で区切られます。また、データの開始行が1…

Python ベイズ最適化による単一目的最適化「GPyOpt」

本記事では、目的関数Yの最小値または最大値と、説明変数Xを求めるための雛形コードを載せました。ベイズ最適化のPythonライブラリは複数あります。本記事ではGPyOptについてで、インストールはcondaで次のようにします。 conda install -c conda-forge gpyo…

Python 数値型の列について、指定区間内にある値の行を全て抽出する「pandas」

'22/04/14更新:欠損値のある行を抽出したい場合を追記 指定区間内は、次のようにして抽出できます。orにしたい場合は、|(半角縦棒)です。 # 数値型の指定列の各要素について、指定区間にある値の行を全て抽出する df2 = df[(df['PRICE'] >= 17) & (df['PR…

Python リストから連続要素を二つずつ取り出す

'22/01/11更新 本記事では、リストから連続する要素を2つずつ順番に取り出す方法の雛形コードを載せました。次のリストを例に3つ示します。 x1_list = [45, 125, 312 ,497, 623, 1015] # 6つの要素 ■方法1. iter()とnext()を利用して、二つずつ取り出す # it…

Python 日付でif文条件分岐する

日付でif文条件分岐するには、日付型である必要があります。日付型は、正確にはdatetimeオブジェクトで文字列型の場合は次のようにして、strptimeメソッドで型変換してから使用します。 date_str = '2020/01/01' # 日付の文字列# dateオブジェクトへ変換する…

Python google-search-consoleの検索パフォーマンスで取得したURLからページタイトルを取得する「BeautifulSoup」

'21/05/12更新:「ページ.csv」内のヘッダー名のひとつ「ページ」が「上位ページ」に変更したため、それに対応。 Google Search Consoleは、自分のブログのアクセス状況を調べるツールです。Chromeなどのwebブラウザで操作し、「検索パフォーマンス」にある…

Python 「YouTube Data API」キーワード検索により動画チャンネルのランキングを作成する

本記事では、下図のようにURL、チャンネルタイトル、動画タイトル、閲覧数、いいね数などを抽出してcsvファイルに保存する雛形コードを載せました。APIキーは次のリンク先で取得できます。OAuth 2.0 トークンは不要です。https://console.developers.google.…

Python 新型コロナのcsvファイルを題材にデータ処理とグラフ化する「pandas」

本記事では、新型コロナに関する厚生労働省のHP (オープンデータ|厚生労働省)から入手できるcsvデータを例にpandasでデータを扱う雛形コードを載せました。Pythonでcsvなどのテキストファイルを扱うには十中八九pandas(パンダス)を利用することになります…

Python パワポに画像を挿入したり、csvデータを表にして挿入する「python-pptx」

PowerPointを操ることができるPythonライブラリ「python-pptx」のインストールは次のようにcondaで出来ます。 conda install -c conda-forge python-pptx 本記事では、パワーポイントのスライドを次のような3つのレイアウトでひとつのファイルに自動作成する…

Python 機械学習の自動化AutoML「PyCaret」のインストール手順

'22/01/09更新:Pycaretは、現在ではPython3.6, 3.7, 3.8系にも動作します。 ■作業1. はじめに仮想環境を構築して、そこにインストールすることが吉です。その理由は、適宜バックアップをとっておけば、環境が壊れた場合に復活が容易なためです。仮想環境の…

Python 「PyCaret」ベストな回帰モデルを自動選定するautoml()

'23/04/15更新:先日、PyCaretがver3.0.0(3系)にアップしたのを機会に、雛形コードを刷新しました。そして、次のGithubへ載せました。 template_for_regression_analysis_using_pycaret3/template_for_regression_using_pycaret3.ipynb at main · hk29-ai/…

Python 「Jupyter Lab」変数表示するための拡張機能 Variable Inspector

本記事では、下図のようにJupyter Lab上で逐次、変数の中身と型を確認しつつコードを書ける拡張機能「Variable Inspector」のインストール手順と簡単な設定方法について記載しました。 ■インストール手順 (※Anaconda環境を前提としています。Anaconda環境で…

Python 「PyCaret」複数の回帰モデルをCUIで自動生成する

PyCaretは、対話型のIDEであるJupyter Notebook、Jupyter Lab、 Google Colaboratory等での使用を推奨しています。そのため、コマンドライン(CUI)ではエラーで動作ストップする場合もいくらか遭遇します。そこで、本記事ではCUIで実行する場合でも、それに…

Python 「PyCaret」ハイパーパラメータの自動チューニング【カスタムパラメータ設定の方法】

PyCaretにはハイパーパラメータのチューニングを自動で行う機能が備わっています。一方、その項目と範囲を手動で設定することも出来ます。本記事では、そのカスタム設定に加えて自動設定した場合とで得られたハイパーパラメータの比較、適合度の比較とその雛…

Windows10 PCのWiMAX(WiFi, 無線LAN)接続が切れる対策のひとつは、クレードル経由で有線接続する

対策はタイトルの通りです。その理由については以下で説明します。下図は、現在使用しているノートPCのインターネット設定で、Wi-Fiは無効化してWiMAXを有線で接続しています。 Windows 10 PCで、無線ネット通信の接続が度々切断される不具合の対策は、ググ…

Python 「pandas」まとめ。テキストデータ処理の自動化で多用するコード一覧

'22/02/28更新:時間型(日付型)へ変換するコードを追記 本記事では、pandas(パンダス)を活用したデータ処理の頻出操作の雛形コードを載せました。下図はpandasによるデータ操作の一例です。Excel(エクセル)のような表形式で、行列データを自由自在に操…

Python 指定フォルダ内のファイル名、サイズ、日付の一覧を取得する方法

本記事では、指定したフォルダ内にあるファイル名とサイズ、日付の一覧を取得してcsvファイルへ保存する雛形コードを載せました。 例えば、下図のようにフォルダ内に複数のファイルがあります。この中から、拡張子「.exe」のファイルのみをリストで取得後、…

Python ピボットテーブルによるクロス集計。また、時系列データをグラフ化する「pandas」

pandasのpivot_tableで比較的簡単に処理できます。本記事では、データ処理の例として、愛知県の次のリンク先https://www.pref.aichi.jp/site/covid19-aichi/の中程にある新型コロナの「愛知県内の発生事例」のPDFファイル「8月まで [PDFファイル/357KB]」を…

Python 数万行のデータからグループ分けして抽出する

'21/08/07更新 pandasのgroupbyメソッドを用いることで、比較的容易に出来ます。 # 指定した列名にある要素でグループを作成する df_group = df.groupby('列名') # グループ数を数える場合 print(len(df_groupby.count())) 本記事では、その例題として、日本…

Python 任意の関数上の任意の(x,y)範囲内の点を乱数で多数作成し、csvファイルに保存する

本記事では、データ点数とx,y各々の上下限範囲を指定して、一様乱数で生成する雛形コードを載せました。このコードの活用は、例えば、何かしらのデータ分析によって得られた重回帰分析による2変数の回帰式を関数に設定します。その関数上に沿った多数のデー…