-
Python:整数リストで表された数値の最後の桁を1つインクリメントする方法
リスト形式で表された数値に対して、最後の桁(末尾の要素)を1つ増やしたい場合があります。このようなときは、「increment_num」という名前のメソッドを定義し、リストの最後の要素が9未満かどうかを判定します。この判定結果に応じて、リストの各要素に対して適切な処理(繰り上がりの処理)を行います。 サンプルコード 以下に実際の例を示します。 def increment_num(my_list, n): i = n if(my_list[i] < 9): my_list[i] = my_list[i] + 1 return my_list
-
【Python】pandasでNaN値を平均値で埋める方法
pandasで欠損値(NaN)を平均値で埋めるには、mean()関数とfillna()関数を組み合わせて使用します。まずmean()で該当する列の平均値を計算し、その値をfillna()に渡すことで、NaNを平均値で置き換えることができます。 必要なライブラリのインポート はじめに、必要なライブラリをインポートします。 import pandas as pd import numpy as np NaN値を含むDataFrameの作成 次に、2つの列を持つDataFrameを作成し、numpyのnp.NaNを使って意図的にNaN値を挿入します。 dataFrame = pd.DataFrame
-
Pythonで辞書のキーごとの平均値(累積平均)を求める方法
概要複数の辞書に含まれる同じキーの値に対して、累積平均(平均値)を求めたいケースはよくあります。このような場合、まず結果を格納するための空の辞書を作成し、元の辞書のリストを順番に走査しながら各項目(キーと値)へアクセスします。キーがすでに結果用の辞書に存在する場合は、その値をリストに追加していき、存在しない場合は新しいキーとして値をリスト形式で格納します。最後に、statisticsモジュールのmean()関数を使って、各キーごとの平均値を計算します。サンプルコード以下に具体的な実装例を示します。from statistics import mean my_list = [{'hi&
-
リスト内の文字列から指定範囲をスライスして抽出するPythonプログラム
リスト内の各要素に対して特定の範囲を取り出したい場合、リストを繰り返し処理しながら「:」演算子によるスライシングを組み合わせることで簡単に実現できます。本記事では、その具体的な方法をサンプルコードとともに解説します。 サンプルコード 以下は、リスト内の各文字列から指定した範囲を切り出すプログラムの例です。 my_list = [Hi, there, how, are, you] print(The list is : ) print(my_list) m, n = 2, 4 my_result = [] for elem in my_list: my_result.append
-
Pythonでリストをすべての可能なタプルペアに分割する方法
Pythonでリストをすべての可能なタプルペアの組み合わせに分割したい場合があります。そのようなときは、リストを引数として受け取り、リスト内包表記でリストを走査しながら「extend」メソッドを活用する関数を定義すると便利です。 サンプルコード 以下に具体的な実装例を示します。 def determine_pairings(my_list): if len(my_list) <= 1: return [my_list] result = [[my_list[0]] + element for element in determine_pairings(my_li
-
Pythonで異なるデータ型を含む行列(Matrix)から行を抽出する方法
異なるデータ型が混在する行列(リストのリスト)から、すべての要素のデータ型が互いに異なる行だけを抽出したい場合があります。このようなときは、行列を反復処理しながら「set(集合)」を使うことで、重複のないデータ型の種類数を簡単に求められます。サンプルコード以下に具体的な実装例を示します。my_list = [[4, 2, 6], [python, 2, {6: 2}], [3, 1, fun], [9, (4, 3)]] print(元のリスト:) print(my_list) my_result = [] for sub in my_list: # 各要素の型を取得し、setで種
-
Pythonで文中の単語の全順列を生成する方法
文中に含まれる単語のすべての順列(並べ替えの組み合わせ)を生成したい場合、専用の関数を定義して処理を行います。この関数は文字列を反復処理しながら、条件に応じて結果を出力します。Pythonでは標準ライブラリの itertools.permutations を使うことで、順列の生成を簡単かつ効率的に行えます。以下に具体的な実装例を示します。サンプルコード以下は、文中の単語の全順列を生成するプログラムの例です。from itertools import permutations def calculate_permutations(my_string): my_list = list(
-
文中の回文語をソートするPythonプログラム
文中に含まれる回文(パリンドローム)の単語をソートしたい場合、文字列を引数として受け取り、その文字列が回文であるかどうかを最初に判定するメソッドを定義します。その後、文中のすべての回文語を抽出してソートし、結果を出力します。 サンプルコード 以下に具体的な実装例を示します。 def check_palindrome(my_string): if(my_string == my_string[::-1]): return True else: return False def print_sort_palindromes(my_sentence):
-
【Python・Pandas】DataFrameをインデックスなしで表示する方法(to_string(index=False)の使い方)
PandasのDataFrameを表示する際、通常は行ラベル(インデックス)も一緒に出力されます。しかし、データ部分だけをきれいに表示したい場合もあります。そのようなときは、to_string()メソッドにindex=Falseを指定することで、インデックスを非表示にできます。この記事では、実際のコード例とともに、インデックスなしでDataFrameを表示する手順をわかりやすく解説します。手順1:必要なライブラリをインポートするまず、Pandasライブラリをインポートします。import pandas as pd手順2:DataFrameを作成する次に、サンプル用のDataFrameを作成しま
-
【Pandas入門】Pythonでタイムスタンプを比較する方法をわかりやすく解説
はじめに:Pandasでのタイムスタンプ比較の基本 データ分析の現場では、日付や時刻のデータ(タイムスタンプ)を扱う場面が非常に多くあります。例えば「購入日と整備日の差は何日か」「特定の日付以降のレコードだけを抽出したい」といったケースです。 Pandasでは、インデックス演算子(角括弧 [])を使って列にアクセスし、タイムスタンプ同士を直接比較・差分計算することができます。この記事では、具体的なサンプルコードを通じて、その方法をわかりやすく解説します。 1. ライブラリのインポート まず、必要なライブラリであるPandasをインポートします。 import pandas as pd 2.
-
Python・PandasでDataFrameの列の最大値を計算する方法
PandasのDataFrameで特定の列(カラム)の最大値を取得するには、max()関数を使用します。この記事では、基本的な使い方から実際のコード例、実行結果までをわかりやすく解説します。 1. Pandasライブラリのインポート まず、必要なPandasライブラリをインポートします。 import pandas as pd 2. サンプルDataFrameの作成 次に、「Car(車種)」と「Units(台数)」の2つの列を持つDataFrameを作成します。 dataFrame1 = pd.DataFrame( { Car: [BMW, Lexus, Audi, T
-
Python Pandasで2つのタイムスタンプの差を計算する方法
PythonのPandasライブラリでは、インデックス演算子(角括弧 [])を使うことで、2つのタイムスタンプ列の差を簡単に求められます。タイムスタンプ同士の差を計算する場合は、結果が負の値にならないよう abs() 関数を併用するのがポイントです。この記事では、「購入日」と「整備日」という2つの日付列を持つデータを例に、その差(経過日数)を求める手順を解説します。1. 必要なライブラリをインポートするまずはPandasをインポートします。import pandas as pd2. サンプルのDataFrameを作成する次に、3つの列(車種・購入日・整備日)を持つDataFrameを作成します
-
Python Pandas – 要素の出現頻度に基づいてDataFrameを昇順に並べ替える方法
Pandasでデータを昇順または降順に並べ替えるには、sort_values()メソッドを使用します。昇順で並べ替えたい場合は、以下のようにascending=Trueを指定します。ascending=True必要なライブラリのインポートまず、Pandasライブラリをインポートします。import pandas as pdDataFrameの作成次に、「Car」「Reg_Price」「Place」の3つの列を持つDataFrameを作成します。dataFrame = pd.DataFrame( { Car: [BMW, Lexus, BMW, Mustang, Merc
-
Python Pandas入門:groupby()とcount()で観測データを数える方法
Pandasで観測データ(行数)をカウントするには、まず groupby() メソッドでデータをグループ化し、その結果に対して count() を適用します。本記事では、商品データを例に、カテゴリごとの観測数を集計する手順をわかりやすく解説します。 1. ライブラリのインポートとDataFrameの作成 はじめにpandasをインポートし、サンプル用のDataFrameを作成します。ここでは「商品名」「商品カテゴリ」「数量」の3列を持つデータを用意しました。 import pandas as pd # DataFrameを作成 dataFrame = pd.DataFrame({ P
-
Python Pandas – 無限大(inf)を含む行インデックスの確認・表示方法
DataFrame内に無限大(inf)の値が含まれているかどうかを確認し、該当する行インデックスを表示するには、isinf()とany()を組み合わせて使用します。まず、必要なライブラリをそれぞれの別名でインポートしましょう。 import pandas as pd import numpy as np 次に、リストからなる辞書を作成します。無限大の値は、NumPyのnp.infを使って設定します。 d = { Reg_Price: [7000.5057, np.inf, 5000, np.inf, 9000.75768, 6000, 900, np.inf] } 上記の辞書をもとにData
-
Python・PandasでDataFrameの無限大の値に対してTrueを表示する方法
Pandasのisin()メソッドを使用すると、DataFrame内の無限大(inf)の値に該当するセルに対してTrueを表示できます。この記事では、NumPyのnp.infを使って無限大の値を含むDataFrameを作成し、それらを検出してTrueとして表示する手順を解説します。必要なライブラリのインポートまず、PandasとNumPyをそれぞれ別名(エイリアス)を付けてインポートします。import pandas as pd import numpy as np無限大の値を含むデータの準備次に、リストを値にもつ辞書を作成します。ここではNumPyのnp.infを使って、無限大の値を意図的に
-
PandasのDataFrameから大文字を含む単語のみを抽出する方法
Pythonでデータを扱う際、DataFrame内に含まれる「大文字を含む単語」だけを取り出したいケースがあります。本記事では、正規表現(regex)を使ってPandasのDataFrameから大文字を含む単語のみを抽出する方法を解説します。必要なライブラリのインポート正規表現を扱うためのreモジュールと、データ分析用のpandasをインポートします。import re import pandas as pdDataFrameの作成まずはサンプルデータとして、大文字・小文字が混在した文字列を含むDataFrameを作成します。data = [[computer, mobile phone, E
-
【Pandas入門】すべての値がnull(NaN)の列を削除する方法
はじめにPandasでデータを扱っていると、すべての値が欠損値(NaN)になっている不要な列が出てくることがあります。このような列を削除するには、dropna()メソッドを使い、「how」パラメータを「all」に設定します。how=all「how=all」を指定すると、「すべての値がNaNである行・列」だけが削除対象になります。さらに「axis=1」を指定することで、行ではなく列方向に対して処理が適用されます。必要なライブラリのインポートまず、必要なライブラリをエイリアス(別名)付きでインポートしましょう。import pandas as pd import numpy as npサンプルDa
-
Python・PandasでDataFrameの列の順序を逆にする方法
PandasのDataFrameで列の順序を逆にするには、dataframe.columnsに対してスライス[::-1]を適用します。この方法では、元のDataFrameは変更されず、列が逆順に並べ替えられた新しいDataFrameが返されます。 基本構文 dataFrame[dataFrame.columns[::-1]] 手順1:必要なライブラリをインポートする まず、pandasをインポートします。 import pandas as pd 手順2:4列のDataFrameを作成する ここでは、「Car」「Cubic_Capacity」「Reg_Price」「Units_Sold」の4つの
-
Matplotlibで12か月ごとに年の目盛りを表示する日付軸の設定方法
Matplotlibで時系列データを可視化する際、「月ごとの細かい目盛りは残しつつ、年ラベルだけ12か月ごと(=毎年)に表示したい」というニーズはよくあります。本記事では、matplotlib.datesモジュールが提供するYearLocatorやMonthLocator、DateFormatterを組み合わせて、見やすい日付軸を実現する方法を解説します。 実装の手順 図のサイズを設定し、サブプロット周辺の余白を自動調整します。 Pandas・NumPy・matplotlib.datesを使って、日付インデックス、データ系列、および各種ロケーター/フォーマッター(years、months、m