pandas

Python 円グラフを作成する「matplotlib」

本記事では、下図のような円グラフを横並びで複数作成する雛形コードを載せました。 下図が使用したcsvデータです。 上記数値データは、次のリンク先の値を引用しました。http://www.stat.go.jp/naruhodo/4_graph/shokyu/obi-graph.html ■本プログラム #!/us…

Python 平均±3σの折れ線図を作成する「matplotlib」

本記事では、表題のことを成す雛形コードを記載しました。点は平均値で、上下に伸びてるエラーバーがここでは±3σを表します。 グラフ化する例題データは、下図のようなcsvファイルです。A列「month」をx軸にして、B列「data」に対してmonthのカテゴリ別に平…

Python 複数のインデックス番号の行を残すor削除する「Pandas」

本記事では、表題の雛形コードを載せました。 # 指定インデックス番号の行を残す場合 target_list = [1, 5, 503, 506] df1 = df.loc[target_list, :]# 指定インデックス番号の行を削除する場合df2 = df.drop(target_list) 例えば、下図のような506行のデータ…

Python 帯グラフを作成する

本記事では、下図のような帯グラフ(積み重ね棒グラフ)の雛形コードを載せました。 次のサイトを参考にさせて頂き、前処理の追加や私好みに多少編集しています。matplotlib - 積み上げ棒グラフを作成する方法 - pystyle 使用したデータは下図のようなcsvフ…

Python カテゴリ別に色を指定して、散布図を作成する「JupyterLab向け」

'21/12/22更新:カテゴリの色を指定するコードを追記しました。 上図のデータ元は、下図のように横軸がA列, 縦軸がE列、カテゴリ変数はF列です。 ■本プログラム #!/usr/bin/env python # coding: utf-8 # In[1]: import pandas as pd file_path = 'test_data…

Python Pandasの列に対して桁数を指定して四捨五入する「decimal」

'21/06/12更新:整数の場合に加えて、小数点の場合の例も追記しました。 本記事では、pandas(パンダス)データフレーム形式の列データに対して、四捨五入する雛形コードを載せました。下図はその例で、列名「RM」と「PRICE」は整数に、それ以外の列は小数点…

Python クラス数を指定して分類するクラスター分析「k-means」

'22/07/02更新:クラスタリング前の散布図を冒頭に追加 本記事では、クラス数を指定してクラスター分析(クラスタリング)する雛形コードを載せました。分析結果は、グラフ化してcsvファイルに出力する仕様です。 例題データには、siciki-learnにあるワイン…

Python カテゴリ別にプロットする散布図を作成する(カテゴリデータが行方向に塊りである場合)「plt.scatter」

'21/05/26更新:コードの可読性を多少良くしました。 本記事では、例えば、下図のように「t=1, t=2, t=3」をカテゴリとした散布図を作成する雛形コードを載せました。 本プログラムの仕様について説明します。下図のようなcsvファイルがあって、Time_1, Time…

Python Excelファイル「.xlsx」をシート指定で読み込む「pandas × openpyxl × xlrd」

'22/05/01更新:シート名の一覧を取得する方法を追記しました。 本記事では、下図のようなExcelファイル「.xlsx」をpandasで読み込む雛形コードを載せました。 pandasでエクセルファイル(拡張子「.xlsx」)を読むためには、openpyxlとxlrdをインストールす…

Python 指定文字列を欠損値NaN(float型)へ置換する「pandas×numpy」

'22/05/21更新:全体の要素に対する処理方法に加えて、特定の列に対する処理方法も追記しました。 本記事では、pandasデータフレームに対して、各要素の値が指定した文字列の場合に、欠損値NaN(float型)へ置換する雛形コードを載せました。pandasのmask()…

Python 列データを行方向へ連結する「Pandas」

本記事では、pandasを利用して列データを行方向へ連結する雛形コードを載せました。下図左が元データで、列名indexの値0,1,2を各グループとして、列名data1,data2,data3の値を行方向へ結合します。この時、重複する値がある場合はその行を削除して、ソートし…

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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変数の回帰式を関数に設定します。その関数上に沿った多数のデー…

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

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

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 株価データの欠損値をその前後の値で補完後、単純移動平均を算出する「pandas」

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

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

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

Python グラフ化/複数列抽出/列計算/列方向連結/列方向ソートする方法「pandas」

本記事に記載してるコードの仕様説明をします。下図のようなcsvファイルがある。 aaa,bbb,y,x,ccc 0.01,1,100,1,10 0.025,2,40,2.5,9 0.05,3,20,5,8 0.075,4,13.33333333,7.5,7 0.1,5,10,10,6 0.2,6,5,20,5 0.3,7,3.333333333,30,4 0.4,8,2.5,40,3 0.5,9,2,5…

Python 複数列を指定して、2軸の散布図を作成する「Matplotlib」

'22/05/03更新:コードを簡潔に見直しました。 本記事では、2軸プロットの散布図を作成する雛形コードを載せました。例えば、下表のような複数列のcsvデータがあったとします。x軸に列名「time」, Y軸の第一軸に列名「linear」, Y軸の第二軸に列名「log」を…

Python 1ファイルに全ステップ分が記述されたcsvから散布図を作成する「時間に関する列がある場合」

'21/02/26更新:本文更新。 下図のように行方向に全ステップの時系列データがあるとします。この例では、一番左の列に時間に関するデータがあります。 本プログラムを実行すると、下図のように散布図を作成します。この時、指定した2つには赤と青の色を付け…