You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中是否存在按X区间计算Y值均值的函数/包?(脑容量分析场景)

解决方案:用Pandas实现按时间区间分组求均值

Python里Pandas是处理这类时间序列/分组统计的最优工具,代码简洁、可扩展,完全能替代手动操作,以下是两种适配你需求的常用方法:


方法1:用pd.cut()手动定义时间区间

适合年代数据为数值型的场景(比如用负数表示公元前,如-300000代表30万年前,-100代表100年前):

  1. 准备示例数据(模拟你的分布不均情况):
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

np.random.seed(42)
# 构造年代数据:远古数据占40%,近千年数据占60%
years = np.concatenate([
    np.random.randint(-300000, -1000, size=400),
    np.random.randint(-1000, -100, size=600)
])
# 构造脑容量数据(模拟真实分布)
brain_volume = np.random.normal(1350, 100, size=len(years))
df = pd.DataFrame({'year': years, 'brain_volume': brain_volume})
  1. 按100年区间分组并计算均值:
# 生成100年跨度的区间边界:从-300000到-100,步长100
bins = np.arange(-300000, -100 + 100, 100)
# 给每个样本分配区间标签(用区间中点作为标签,方便绘图时定位)
df['year_bin'] = pd.cut(df['year'], bins=bins, labels=bins[:-1] + 50)
# 按区间分组计算平均脑容量,丢弃无数据的区间
bin_mean = df.groupby('year_bin')['brain_volume'].mean().dropna()
  1. 绘图展示结果:
plt.figure(figsize=(12, 6))
bin_mean.plot(kind='line', marker='o', color='#2c3e50')
plt.xlabel('年代(公元前,年)')
plt.ylabel('平均脑容量(cm³)')
plt.title('Homo sapiens脑容量随时间变化(每100年平均)')
plt.grid(True, alpha=0.3)
plt.show()

方法2:用pd.resample()处理时间序列

如果将年代转换为datetime类型(Pandas支持公元前时间戳),可以用更简洁的重采样方法:

  1. 转换年代为datetime格式:
# 将数值型年代转为datetime(负数值自动识别为公元前)
df['datetime'] = pd.to_datetime(df['year'], unit='Y', origin='julian')
# 设置datetime为数据索引
df = df.set_index('datetime')
  1. 按100年区间重采样求均值:
# '100AS'代表100年区间(AS=Anno Domini之前,即公元前)
resampled_mean = df['brain_volume'].resample('100AS').mean().dropna()
  1. 绘图(索引为datetime,可自行格式化显示):
plt.figure(figsize=(12, 6))
resampled_mean.plot(kind='line', marker='s', color='#e74c3c')
plt.xlabel('年代')
plt.ylabel('平均脑容量(cm³)')
plt.title('Homo sapiens脑容量随时间变化(每100年平均)')
plt.grid(True, alpha=0.3)
plt.show()

扩展优势

  • 灵活调整区间:只需修改bins步长(方法1)或resample频率参数(比如'50AS'代表50年区间),无需重构分组逻辑。
  • 高效处理大数据:Pandas的分组、重采样都是向量化操作,比手动循环效率高几个数量级,数据集扩大后依然能快速运行。
  • 兼容后续分析:分组结果可直接对接变点分析工具(如ruptures包),无需额外格式转换。

内容的提问来源于stack exchange,提问作者Code_monkey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 13:34:39