pandas 统计函数

本文通过使用Python的Pandas库,演示了一系列的数据统计分析操作,包括生成随机数据、计算非空元素数量、求最小值、最大值、位置、分位数、总和、均值、中位数、众数、方差、标准差、平均绝对偏差、偏度、峰度等,最后展示了如何一次性输出多个描述性统计指标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. np.random.seed(1234)
  2. d1 = pd.Series(2*np.random.normal(size = 100)+3)
  3. d2 = np.random.f(2,4,size = 100)
  4. d3 = np.random.randint(1,100,size = 100)
  5.  
  6. d1.count() #非空元素计算
  7. d1.min() #最小值
  8. d1.max() #最大值
  9. d1.idxmin() #最小值的位置,类似于R中的which.min函数
  10. d1.idxmax() #最大值的位置,类似于R中的which.max函数
  11. d1.quantile(0.1) #10%分位数
  12. d1.sum() #求和
  13. d1.mean() #均值
  14. d1.median() #中位数
  15. d1.mode() #众数
  16. d1.var() #方差
  17. d1.std() #标准差
  18. d1.mad() #平均绝对偏差
  19. d1.skew() #偏度
  20. d1.kurt() #峰度
  21. d1.describe() #一次性输出多个描述性统计指标
### pandas `groupby` 和统计函数的使用 在数据分析领域,Pandas 提供了强大的工具来处理结构化数据。其中,`groupby` 是一种核心功能,能够帮助用户按照特定条件对数据进行分组并执行各种聚合操作。 #### 基本概念 `groupby` 方法的核心思想是对 DataFrame 或 Series 的数据按某个或某些键进行分组,并针对每组应用某种聚合逻辑[^2]。常见的聚合操作包括但不限于均值 (`mean`)、总和 (`sum`)、计数 (`count`)、最大值/最小值 (`max`, `min`) 等。 以下是具体的实现方式: --- #### 示例代码展示 假设有一个如下所示的数据集: | Group | Value | |-------|-------| | A | 10 | | B | 20 | | A | 30 | | B | 40 | 可以通过以下方式进行分组统计: ```python import pandas as pd # 创建示例数据 data = {'Group': ['A', 'B', 'A', 'B'], 'Value': [10, 20, 30, 40]} df = pd.DataFrame(data) # 使用 groupby 进行分组并计算均值 result_mean = df.groupby('Group').mean() print(result_mean) ``` 上述代码会输出每个组的平均值: ``` Value Group A 20 B 30 ``` 如果需要其他统计量,则可以替换 `.mean()` 为不同的方法,例如 `.sum()` 计算总和[^4]。 --- #### 多种统计量组合 当希望一次性获取多种统计量时,可利用 `agg` 方法自定义多个聚合函数: ```python # 自定义多统计量 result_agg = df.groupby('Group').agg(['mean', 'sum', 'min', 'max']) print(result_agg) ``` 这将返回一个包含均值、总计、最小值和最大值的结果表。 --- #### 描述性统计 对于更全面的描述性统计分析,可以直接调用 `describe` 方法,该方法会对每一组提供详细的统计数据摘要[^1]。 ```python # 对分组后的数据进行描述性统计 result_describe = df.groupby('Group')['Value'].describe() print(result_describe) ``` 此命令生成的内容通常包括样本数量、均值、标准差以及四分位数值等信息。 --- #### 高级用法:自定义聚合函数 除了内置的标准统计函数外,还可以通过传递 lambda 表达式或其他 Python 函数来自定义复杂的聚合逻辑[^3]。 ```python # 定义复杂聚合规则 custom_result = df.groupby('Group').agg(custom_stat=('Value', lambda x: (x.max() - x.min()) / x.mean())) print(custom_result) ``` 这里展示了如何创建一个新的字段 `custom_stat` 来表示范围变化相对于均值的比例关系。 --- ### 总结 通过对 Pandas 中 `groupby` 及其关联统计函数的学习,可以高效完成基于类别变量的各种汇总运算任务。无论是基础还是高级需求,这些技术都提供了灵活而强大的支持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值