查詢給定 Pandas DataFrame 的幾何平均數。


Pandas DataFrame 是一個 Python 開源庫,用於以表格形式儲存、刪除、修改和更新資料。它的設計使得它可以輕鬆地與 Python 程式整合以進行資料分析。它提供了各種資料操作技術和資料處理工具。

幾何平均數的數學概念是確定給定數值資料集中平均值或中心趨勢的一個非常有用的概念。這是透過將資料集中每個單獨的數字相乘來實現的,結果是一個 n 次方根。而 n 的值則取決於資料組中值的總數。

語法

建立 DataFrame 的語法

df = pandas.DataFrame(data, index, columns)
  • “pandas.DataFrame” 建立空 DataFrame 物件

  • “data” 用於儲存資料。它可以是列表或字典

  • “index” 和 “columns” 是可選的,用於指定行和列標籤

方法 1 - 使用 NumPy

以下程式演示瞭如何使用 NumPy 查詢給定 DataFrame 的幾何平均數

演算法

步驟 1 - 匯入 Pandas 和 NumPy 模組

步驟 2 - 建立 Pandas DataFrame 來儲存陣列值

步驟 3 - 在名為 geometric_mean 的變數中使用 NumPy 函式來查詢平均值。

步驟 4 - 列印輸出

示例

import pandas as pd
import numpy as np

# create a sample dataframe
df = pd.DataFrame({
   'A': [2, 4, 6, 8],
   'B': [1, 3, 5, 7]
})

# calculate the geometric mean for each column
geometric_mean = np.exp(np.log(df).mean())

# display the result
print("Geometric mean for each column:\n", geometric_mean)

輸出

Geometric mean for each column:
A   4.426728
B   3.201086

方法 2 - 使用自定義函式

以下程式演示了一個名為“geometric_mean”的自定義函式,該函式接受 Pandas DataFrame 作為輸入,並透過使用迴圈計算 DataFrame 中所有值的幾何平均數。

演算法

步驟 1 - 匯入 Pandas 庫

步驟 2 - 建立 DataFrame 並存儲值。

步驟 3 - 定義自定義函式

步驟 4 - 建立一個名為“gm”的新變數來呼叫該函式。

步驟 5 - 透過呼叫“gm”列印輸出。

示例

import pandas as pd

# create sample dataframe
df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8]})

# define a function to calculate geometric mean
def geometric_mean(data):
   product = 1
   for val in data.to_numpy().ravel():
    product *= val
   return product**(1.0/len(data.to_numpy().ravel()))

# calculate geometric mean of dataframe using custom function
gm = geometric_mean(df)

print(gm)

輸出

3.764350599503129

方法 3 - 使用 Scipy 庫

Scipy 是一個 Python 庫,它提供了強大的科學計算能力,使您可以使用數值演算法、最佳化和統計分析。

以下程式碼使用 scipy.stats 模組中的 gmean() 函式計算 Pandas DataFrame 的幾何平均數。

演算法

步驟 1 - 匯入 Pandas、NumPy、Scipy 庫

步驟 2 - 建立 DataFrame “df”

步驟 3 - 使用 NumPy 和 Scipy 函式。

步驟 4 - 列印輸出。

示例

import numpy as np
from scipy.stats import gmean
import pandas as pd

# create sample dataframe
df = pd.DataFrame({'A': [1, 2, 3, 4], 'B': [5, 6, 7, 8]})

# calculate geometric mean of dataframe using Scipy
gm = gmean(df.to_numpy().ravel())

print(gm)

輸出

3.764350599503128

結論

幾何平均數是一個強大的數學公式,通常用於計算一系列數字相乘的平均值,它可以成為 Pandas DataFrame 中資料分析的極其有價值的工具。這個公式在需要分析多列的情況下尤其有用,因為它可以快速準確地用於發現每列的平均值。透過利用幾何平均數,您可以發現數據中可能被忽視的洞察和模式,從而使您能夠根據資訊做出明智的決策並採取有針對性的行動。

更新於:2023年8月10日

658 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告