
本文将介绍如何使用 Pandas 库计算 DataFrame 中各列的平均值,并将结果导出到 CSV 文件。我们将探讨 df.mean() 方法的简单高效用法,并解释科学计数法(如 e+07)的含义,最后提供完整的代码示例。
Pandas 提供了强大的数据处理功能,其中计算 DataFrame 列的平均值并导出结果是常见的需求。groupby() 方法通常用于分组聚合,但对于直接计算列平均值而言,df.mean() 方法更为简洁高效。
使用 df.mean() 计算列平均值
df.mean() 方法直接计算 DataFrame 中每一列的平均值,返回一个 Series 对象,其中索引是列名,值是对应的平均值。
import pandas as pd
import numpy as np
# 创建示例 DataFrame
SIZE = 100 # 定义 SIZE 变量
nydata = pd.DataFrame({
"Upper Manhattan": np.random.randint(low=2000000, high=6000000, size=SIZE),
"Inwood": np.random.randint(low=3000000, high=3800000, size=SIZE),
"Harlem": np.random.randint(low=2300000, high=5000000, size=SIZE)
})
# 计算每列的平均值
mean_values = nydata.mean()
# 打印结果
print(mean_values)这段代码首先导入了必要的库,然后创建了一个包含三列数据的 DataFrame。nydata.mean() 计算了每一列的平均值,并将结果存储在 mean_values 变量中。最后,使用 print() 函数输出结果。
将平均值导出到 CSV 文件
要将计算得到的平均值导出到 CSV 文件,可以使用 to_csv() 方法。
# 将平均值导出到 CSV 文件,不包含 header
mean_values.to_csv("mean_values.csv", header=False)这段代码将 mean_values Series 对象导出到名为 "mean_values.csv" 的 CSV 文件。header=False 参数确保 CSV 文件中不包含列名。如果需要包含列名,可以省略该参数或将其设置为 True。
理解科学计数法
输出结果中可能出现类似 3.992766e+06 的表示方法,这被称为科学计数法。e+06 表示乘以 10 的 6 次方,因此 3.992766e+06 等于 3,992,766。
完整代码示例
以下是完整的代码示例,包括数据生成、平均值计算和 CSV 导出:
import pandas as pd
import numpy as np
# 定义 SIZE 变量
SIZE = 100
# 创建示例 DataFrame
nydata = pd.DataFrame({
"Upper Manhattan": np.random.randint(low=2000000, high=6000000, size=SIZE),
"Inwood": np.random.randint(low=3000000, high=3800000, size=SIZE),
"Harlem": np.random.randint(low=2300000, high=5000000, size=SIZE)
})
# 计算每列的平均值
mean_values = nydata.mean()
# 打印结果
print(mean_values)
# 将平均值导出到 CSV 文件,不包含 header
mean_values.to_csv("mean_values.csv", header=False)注意事项
- 确保已经安装了 Pandas 和 NumPy 库。如果没有安装,可以使用 pip install pandas numpy 命令进行安装。
- 可以根据实际需求调整 CSV 文件的导出参数,例如文件名、分隔符等。
- 如果 DataFrame 中包含非数值类型的数据,df.mean() 方法会自动忽略这些列。
总结
本文介绍了如何使用 Pandas 库计算 DataFrame 中各列的平均值,并将结果导出到 CSV 文件。通过使用 df.mean() 方法,可以简洁高效地完成这一任务。同时,解释了科学计数法的含义,并提供了完整的代码示例,帮助读者更好地理解和应用这些知识。










