Pandasで学ぶ絶対頻度と相対頻度の求め方
統計学において「頻度(frequency)」とは、特定のデータサンプル内である値が出現した回数を指します。数学・科学分析向けのソフトウェアとして開発されたPandasには、与えられたサンプルから頻度を算出するための組み込みメソッドが多数用意されています。
絶対頻度とは
絶対頻度は、いわゆる「頻度」そのものであり、データ要素の出現回数をそのまま数えたものです。以下の例では、DataFrame内に都市名が何回出現するかを単純にカウントし、その結果を頻度として出力します。
方法1:value_counts() を使う
Pandasの .value_counts() メソッドを使用する方法です。Seriesオブジェクトに対して呼び出すだけで、各要素の出現回数を降順に集計してくれます。
コード例
import pandas as pd # データフレームを作成 data = ["Chandigarh","Hyderabad","Pune","Pune","Chandigarh","Pune"] # value_counts() メソッドを使用 df = pd.Series(data).value_counts() print(df)
実行結果
上記のコードを実行すると、次のような結果が得られます。
Pune 3 Chandigarh 2 Hyderabad 1 dtype: int64
方法2:crosstab() を使う
Pandasの .crosstab() メソッドを使用する方法です。クロス集計表を作成する関数ですが、インデックスに対象列を指定することで、度数分布表のように利用できます。
コード例
import pandas as pd data = ["Chandigarh","Hyderabad","Pune","Pune","Chandigarh","Pune"] df = pd.DataFrame(data,columns=["City"]) tab_result = pd.crosstab(index=df["City"],columns=["count"]) print(tab_result)
実行結果
上記のコードを実行すると、次のような結果が得られます。
col_0 count City Chandigarh 2 Hyderabad 1 Pune 3
相対頻度とは
相対頻度とは、ある値の頻度をサンプル全体の観測数で割った割合のことです。そのため値は浮動小数点数となり、パーセンテージとして表現することもできます。相対頻度を求めるには、まず最初の方法と同様に頻度を計算し、それを len() 関数で取得した観測総数で除算します。
コード例
import pandas as pd # データフレームを作成 data = ["Chandigarh","Hyderabad","Pune","Pune","Chandigarh","Pune"] # value_counts() メソッドを使用 df = pd.Series(data).value_counts() print(df/len(data))
実行結果
上記のコードを実行すると、次のような結果が得られます。
Pune 0.500000 Chandigarh 0.333333 Hyderabad 0.166667 dtype: float64
このように、Pandasを活用すれば絶対頻度も相対頻度もわずか数行のコードで簡単に算出できます。データ分析における基礎的な集計処理として、ぜひ使いこなしてみてください。
-
Pandasで学ぶPythonデータ分析と可視化の基本
Pandas(パンダス)は、データサイエンスやデータ分析の分野で最も人気のあるPythonライブラリの一つです。データの操作・分析・クレンジング(前処理)を得意としており、C言語で実装された低レベルライブラリ「NumPy」の上位に位置する高レベルな抽象化として機能します。本記事では、アナリストやデータサイエンティストとして必ず押さえておきたい重要ポイントを順を追って解説します。ライブラリのインストール必要なライブラリはpipコマンドで簡単にインストールできます。ターミナル(コマンドプロンプト)で以下のコマンドを実行してください。pip install pandasDataFrame と Ser
-
Pythonによるデータ分析と可視化入門|pandasの基本を徹底解説
Pythonによるデータ分析と可視化の概要 Pythonには、データ分析と可視化のための強力なライブラリが数多く用意されています。代表的なものとしては、NumPy、pandas、matplotlib、seabornなどが挙げられます。本記事では、その中でも中心的な役割を果たすpandasについて詳しく解説します。pandasはNumPyをベースに構築されたオープンソースライブラリで、高速なデータ分析やデータのクリーニング・前処理を効率的に行えます。さらに、pandas自体にも便利な可視化機能が組み込まれています。 pandasのインストール方法 pandasをインストールするには、ターミナル