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

地震事件-台站关联数据的结构名称及高效存储转换方法咨询

地震数据集的结构化存储与转换问题

场景与现有存储方式

处理N次地震被M个台站记录的数据集,数据分为两类:

  • 地震专属信息:event_id、震级mag等
  • 台站专属信息:station_id、仪器采样率等
    由于并非所有台站都会记录全部地震,每次地震对应的记录台站数量不固定,当前采用Pandas DataFrame存储,每行对应一次地震,将台站相关字段存储为NumPy数组:
import numpy as np 
import pandas as pd

events = {
    'event_id': ['0001', '0002'],
    'mag': [2.1, 3.1],
    'station_ids': [np.array(['a', 'c']), np.array(['a', 'b', 'c', 'd'])],
    'station_sampling_rate': [np.array([100, 60]), np.array([100, 100, 60, 60])]
}
events_df = pd.DataFrame(events)
print(events_df)

输出结果:

event_id  mag   station_ids station_sampling_rate
0     0001  2.1        [a, c]             [100, 60]
1     0002  3.1  [a, b, c, d]    [100, 100, 60, 60]

现有方案的缺陷

提取台站专属信息时,现有两种方案存在明显不足:

  • 逐行遍历校验:与台站目录逐一对比,速度极慢,不适合大规模数据
  • 扩展原DataFrame:新增更多台站字段会导致数据量剧增,后续仍需遍历处理

期望的目标结构

希望转换为以台站为核心的结构,将每个台站关联的地震信息聚合为列表:

station_id  sampling_rate     event_ids         mag
0          a            100  [0001, 0002]  [2.1, 3.1]
1          b            100        [0002]       [3.1]
2          c             60  [0001, 0002]  [2.1, 3.1]
3          d             60        [0002]       [3.1]

问题解答

1. 数据结构名称

这种结构属于反向规范化(Denormalization)的聚合表,也可称为实体-关联嵌套表:以台站作为核心实体,将多对多关系中关联的地震属性(event_id、mag)聚合为嵌套列表,目的是优化以台站为核心的查询效率,牺牲部分数据库范式来减少关联查询的开销。

2. 高效转换与存储方法

转换实现

利用Pandas的内置矢量化操作完成转换,避免手动遍历,效率更高:

# 扁平化数据:将每行的台站数组展开,与地震信息一一对应
flattened_data = events_df.apply(
    lambda row: pd.DataFrame({
        'station_id': row['station_ids'],
        'sampling_rate': row['station_sampling_rate'],
        'event_id': row['event_id'],
        'mag': row['mag']
    }),
    axis=1
).concat()

# 按台站+采样率分组,聚合地震信息为列表
station_core_data = flattened_data.groupby(
    ['station_id', 'sampling_rate'], 
    as_index=False
).agg(
    event_ids=('event_id', list),
    mag=('mag', list)
)

print(station_core_data)

存储建议

如果数据集规模较大,推荐使用Parquet格式存储:

  • 原生支持嵌套数据类型(如列表),无需额外处理
  • 压缩效率高,节省存储空间
  • 读写速度远快于CSV,适合后续大规模数据查询与分析

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 14:02:46