Python 找出给定Pandas数据框的几何平均数
Pandas数据框是一个用于以表格形式存储、删除、修改和更新数据的Python开源库。它被设计成可以很容易地与Python程序集成进行数据分析。它提供了各种数据操作技术和处理数据的工具。
几何平均数的数学概念对于确定给定数值数据集内的平均值或中心趋势是一个非常有用的概念。这是通过将数据集中的每个个别数字相乘,得到一个n次根的结果来实现的。而n的值则由数据组中的总值数量决定。
语法
创建DataFrame的语法
df = pandas.DataFrame(data, index, columns)
- “pandas.dataframe” 创建一个空的数据帧对象
-
“data” 存储数据,可以是列表或字典
-
“index” 和 “column” 是可选的,用于指定行和列的标签
方法一 – 使用 NumPy
以下程序演示了如何使用 NumPy 找到给定数据帧的几何平均值:
步骤
第一步 - 导入 Pandas 和 NumPy 模块
第二步 - 创建一个 Pandas 数据帧来存储数组值
第三步 - 使用一个名为 geometric_mean 的变量来调用 NumPy 函数找到平均值
第四步 - 打印输出结果
示例
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
方法二 – 使用自定义函数
以下程序演示了一个名为’geometric_mean’的自定义函数,它接受一个Pandas 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
第三种方法 – 使用Scipy库
Scipy是一个提供强大科学计算功能的Python库,它使您能够使用数值算法、优化和统计分析。
下面的代码使用scipy.stats模块中的gmean()函数计算Pandas数据框的几何平均值。
步骤
步骤1 - 导入Pandas、Numpy和Scipy库
步骤2 - 创建数据框“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 Dataframes中进行数据分析而言,它是一个非常有价值的工具。在分析涉及多列的情况下,这个公式尤其有用,因为它可以快速而精确地计算出每一列的平均值。通过利用几何平均数,您可以发现数据中可能被忽视的见解和模式,从而使您能够基于这些信息做出明智的决策和有针对性的行动。