首页 自动驾驶

Pandas玩转数据统计与汇总:告别Excel,拥抱Python高效分析

分类:自动驾驶
字数: (5646)
阅读: (7092)
内容摘要:Pandas玩转数据统计与汇总:告别Excel,拥抱Python高效分析,

在日常的数据分析工作中,我们经常需要对数据进行统计和汇总。传统的方式是使用 Excel 等工具,但当数据量较大时,Excel 的性能会急剧下降,而且操作也比较繁琐。 Pandas 提供了强大的数据统计与汇总分析功能,能够高效地处理各种数据,并生成各种统计报表。本文将深入探讨 Pandas 在数据统计与汇总分析中的应用,并结合实际案例进行讲解。

数据读取与预处理

首先,我们需要读取数据。Pandas 支持多种数据格式,例如 CSV、Excel、SQL 等。这里以 CSV 文件为例:

Pandas玩转数据统计与汇总:告别Excel,拥抱Python高效分析
import pandas as pd

# 读取 CSV 文件
df = pd.read_csv('data.csv')

# 查看数据的前几行
print(df.head())

# 查看数据的基本信息
print(df.info())

# 查看数据的统计描述
print(df.describe())

数据预处理是数据分析的重要步骤,包括处理缺失值、异常值、数据类型转换等。

Pandas玩转数据统计与汇总:告别Excel,拥抱Python高效分析
# 处理缺失值
df = df.fillna(0) # 将缺失值填充为0,也可以选择其他填充方式

# 处理重复值
df = df.drop_duplicates() # 删除重复行

# 数据类型转换
df['date'] = pd.to_datetime(df['date']) # 将 date 列转换为 datetime 类型

常用统计函数

Pandas 提供了丰富的统计函数,例如求和、平均值、最大值、最小值等。

Pandas玩转数据统计与汇总:告别Excel,拥抱Python高效分析
# 求和
sum_value = df['sales'].sum()
print(f'总销售额:{sum_value}')

# 平均值
mean_value = df['sales'].mean()
print(f'平均销售额:{mean_value}')

# 最大值
max_value = df['sales'].max()
print(f'最大销售额:{max_value}')

# 最小值
min_value = df['sales'].min()
print(f'最小销售额:{min_value}')

# 中位数
median_value = df['sales'].median()
print(f'销售额中位数:{median_value}')

# 标准差
std_value = df['sales'].std()
print(f'销售额标准差:{std_value}')

# 计数
count_value = df['sales'].count()
print(f'销售记录数量:{count_value}')

# 分位数
q1 = df['sales'].quantile(0.25)
q3 = df['sales'].quantile(0.75)
iqr = q3 - q1
print(f'销售额四分位距: {iqr}')

分组统计与聚合

Pandas 提供了强大的分组统计与聚合功能,可以根据指定的列对数据进行分组,并对每个分组进行统计分析。

Pandas玩转数据统计与汇总:告别Excel,拥抱Python高效分析
# 根据 product 列进行分组,并计算每个产品的销售额总和
grouped_data = df.groupby('product')['sales'].sum()
print(grouped_data)

# 使用多个列进行分组
grouped_data = df.groupby(['product', 'region'])['sales'].sum()
print(grouped_data)

# 使用 agg 函数进行聚合,可以同时计算多个统计指标
grouped_data = df.groupby('product')['sales'].agg(['sum', 'mean', 'max'])
print(grouped_data)

# 自定义聚合函数
def custom_agg(x):
    return x.max() - x.min()

grouped_data = df.groupby('product')['sales'].agg(custom_agg)
print(grouped_data)

# 使用 pivot_table 进行透视分析
pivot_table = pd.pivot_table(df, values='sales', index='product', columns='region', aggfunc='sum')
print(pivot_table)

# 应用场景:例如统计不同省份的用户访问量,导出报表。

如果数据量巨大,在服务器端 (例如阿里云 ECS 上部署的 Python 环境),可能需要考虑优化 Pandas 的性能。例如,可以尝试使用 Dask 分布式计算框架与 Pandas 结合,或者使用 PyArrow 等高性能数据格式。

数据可视化

将统计结果可视化可以更直观地展示数据,并发现数据中的规律。

import matplotlib.pyplot as plt

# 绘制柱状图
grouped_data.plot(kind='bar')
plt.title('各产品销售额')
plt.xlabel('产品')
plt.ylabel('销售额')
plt.show()

# 绘制饼图
grouped_data.plot(kind='pie', autopct='%1.1f%%')
plt.title('各产品销售额占比')
plt.ylabel('') # 去掉默认的 y 轴标签
plt.show()

实战避坑经验总结

  • 数据类型问题:Pandas 会自动推断数据类型,但有时会推断错误。例如,将数字识别为字符串。需要手动指定数据类型。
  • 内存占用问题:当数据量较大时,Pandas 会占用大量的内存。可以使用 chunksize 参数分块读取数据,或者使用 dtype 参数指定更小的数据类型。
  • 性能优化问题:Pandas 的性能瓶颈主要在于循环。尽量避免使用循环,而是使用 Pandas 提供的向量化操作。例如,使用 apply 函数可以对 DataFrame 的每一行或每一列进行操作。
  • 中文乱码问题:读取包含中文的 CSV 文件时,需要指定编码格式。常用的编码格式有 UTF-8 和 GBK。
  • 空值处理:在做 Pandas 数据统计与汇总分析 时,务必处理空值,避免影响最终结果。fillnadropna 等函数是常用工具。

掌握 Pandas 的数据统计与汇总分析功能,可以极大地提高数据分析的效率和准确性。希望本文能够帮助你更好地利用 Pandas 进行数据分析。

Pandas玩转数据统计与汇总:告别Excel,拥抱Python高效分析

转载请注明出处: 代码一只喵

本文的链接地址: http://m.acea2.store/blog/512579.SHTML

本文最后 发布于2026-04-14 00:59:32,已经过了14天没有更新,若内容或图片 失效,请留言反馈

()
您可能对以下文章感兴趣
评论
  • 干饭人 3 天前
    mark! 感觉以后可以少用 excel 了。感谢博主分享!
  • 佛系青年 4 天前
    数据类型转换那里,to_numeric() 也是个常用的函数,可以强制将某一列转换为数值类型。
  • e人代表 6 天前
    讲的很详细,Pandas 的 groupby 和 agg 真是太好用了,之前一直用 Excel 做的,效率太低了。