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 マルチインデックスの棒グラフの横軸2段表示

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

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

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

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

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

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

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

Python pandasで列名を指定して辞書を作成する

本記事では、下図のようなcsvファイルがあって、2つの列名を指定して辞書を作成したい場合の雛形コードを載せました。 下図は、keyに「名前」、valueに「合計点」を指定した場合の実行例です。 ■本プログラム import pandas as pd # csvファイルをpandasで読…

Python 回帰モデルの精度確認のため、その評価指標を出力する「sklearn.metrics 」

本記事では、作成した回帰モデルの精度検証のための雛形コードを載せました。下図は、それをするための読み込みデータ例です。N列の「PRICE」が指標の生値で、O列の「Label」が回帰モデルによる指標の予測値です。この2列を比較することによって、回帰モデル…

Python pandasで特定の要素の値を抽出する「at, iat」

本記事では、下図のようなpandasデータフレーム形式の表データに対して、行名、列名、もしくは行番号、列番号を指定して、任意の要素の値を抽出する雛形コードを載せました。 まず、csvのような表データは、次のようにしてpandasデータフレームで読み込みま…

Python 列名指定で棒グラフを描く「pandasのplot.bar()とax.patches」

本記事では、下図のような棒グラフをpandasのデータフレームにて、列名を指定して描く雛形コードを載せました。df.plot.bar()を使います。グラフの値を記入するには、ax.patchesを用います。 上図の元データは、下図のような表データです。これをpandasのDat…

Python 集合棒グラフ(横並び棒グラフ)

'22/09/10更新:棒グラフの値の表示位置設定とグリッド設定について、引数を明記しました(グラフデザインの柔軟性を高めた雛形コードにするため)。 本記事では、下図のような横に並べる棒グラフの雛形コードを載せました。 上記のデータ元は、下図のような…

Python 同じインデックスを抽出して、列データを連結する「Pandasのmerge」

本記事では、2つのデータフレームがあって、共通のindex(行番号,行名)の行データに対して、列データを連結する手順を載せました。もし、重複する列名がある場合はそれらを削除する操作も記載しています。 import pandas as pd # データ1 df1 = pd.read_cs…

Python 「Pandas」指定条件にあてはまる or あてはまらない要素を置換する「mask, whereメソッド」

本記事では、表題を成す雛形コードを2つ載せました。 ▼1. 指定条件にあてはまる要素を置換する場合は、mask()メソッドを使用する import pandas as pd # csvファイルを読み込むdf = pd.read_csv('test_data.csv') df # 特定の列に対して、指定条件にあてはま…

Python 株価データを取得する「pandas_datareader」

本記事では、チャートデータを取得する雛形コードを載せました。ライブラリは「pandas_datareader」を使用します。下図は、ある銘柄の現在から過去5年間の期間を指定して取得した例です。 ■インストールは次の通りです pip install pandas-datareader ■本プ…

Python 特定の列に対する指定条件で、行データ(外れ値)を削除する方法「Pandasのquery」

本記事では表題のことを成す雛形コードを載せました。例題データには、機械学習でお馴染みのボストンデータセットを用いました。入手方法はネット情報から得られます。 ▼元データのグラフ化 #!/usr/bin/env python # coding: utf-8 # In[1]: import pandas a…

Python 積み上げ縦棒グラフを作成する「matplotlib」

'22/09/10更新:グリッド設定の引数を追加(明記)しました。 本記事では、下図のような積み上げ棒グラフを作成する雛形コードを載せました。次のサイトを参考にして、自分好みの設定にしたものです。https://pystyle.info/matplotlib-stacked-bar-chart/ 上…

Python Pandas行方向に周期的にデータを分割して抽出する

本記事では、pandasデータフレームにて、行方向のデータを等分割する雛形コードを載せました。 例えば、下図左はアイリスデータセットで150行あります。これを下図右のように例えば、10行ずつに分割したデータフレームを新たに作成してリストへ格納します。 …

Python 株価のRSIを計算してグラフ化する

本記事では、下図中の下段のように、テクニカル指標のひとつであるRSI(Relative Strength Index,相対力指数)を算出してグラフ化する雛形コードを載せました。 必要なデータは、下図のような時系列チャート情報です。例えば、次のリンク先のような手順で入…

Python 株価の価格帯別出来高をグラフ化する

'23/11/14更新:チャートと価格帯別出来高のグラフサイズの割合を変更したコードに変えました。 本記事では、下図のようなグラフを作成する雛形コードを載せました。下図左にはチャート図、右には価格帯別出来高図を表記します。 下図は、例として読み込んだ…

Python pandasで日付型(時間型)を操作する

本記事では、pandasで特定列を日付型へ変換し、続けて色々操作する雛形コードを載せました。主に下図のような処理をします。 はじめに、日付型(時間型)へ型変換するのは次の通りです。 df['日付'] = pd.to_datetime(df['日付']) そして、一連の処理は下記…

Python 株のSuperTrendのインジケーターを作成する

本記事では、下図のようなスーパートレンドのIndicatorを作成する雛形コードを載せました。株の売買判定をする指標のひとつであるATR(Average True Range)を計算して、チャートに図示します。 必要なのは、株価に関する時系列データで日付と高値、安値、終値…

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

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

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

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

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

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

Python pandasのprint表示設定「set_option」

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

Python 指定列に対して、リスト内の値と一致する要素がある行を複数一括で抽出する「Pandasのquery」

例題データは、機械学習でお馴染みのアイリスデータセットを用いました。150行×5列のデータです。 本記事でやりたいことは、例えば、sepal_lengthという列(カラム)に対して、5, 5.5, 6の値である行を全て抽出したい場合に適用し、次のようにします。リスト…

Python 指定パス内のフォルダ容量の一覧表を作成する

本記事では、指定したパス内にある全てのフォルダ(ディレクトリ)の容量サイズを取得して、降順にソートしてcsvファイルへ出力する雛形コードを載せました。 下図がその実施例で、指定したパス「D:/program/python/98_抽出」内のフォルダ毎の容量をランキン…

Python 行数を増やしつつ、特定の要素へ値を代入する「Pandas」

例えば、下図のように150行のデータがあったとします。 本記事では、例えば、下図のように154行に増やしつつ、列名「petal_width」と「species」に値を代入して、その他の列にはNaN(float型)とする雛形コードを載せました。 ■本プログラム #!/usr/bin/env py…

Python 列名部分一致で列を複数選択する「pandasでstr.contains()」

列名が山ほどあって、列名(カラム名)に特定の文字列がある列だけを抽出したい場合もあるかもしれません。その雛形コードを載せました。 例題データは、機械学習データセットで有名なアイリスを用いました。これのcsvはネットで検索すれば出てきて、例えば…