SuperAPI AI 工具集

pyrolite

数据与分析

查看项目

更新于 10-16 01:57

技能介绍

pyrolite 是一个 Python 地球化学数据分析与可视化库,用于火成岩、变质岩和沉积岩相关数据的处理与作图。它面向需要在地球化学分析中使用 Python 和 pandas 工作流的用户,尤其是处理成分数据、稀土元素配分和岩石分类图的场景。

【用途】 pyrolite 用于地球化学数据的分析与可视化,典型任务包括:创建三元图;进行球粒陨石标准化并绘制稀土元素(REE)配分模式图;绘制微量元素蜘蛛图;生成 TAS、Pearce 等分类与判别图;开展成分数据变换与统计;以及计算元素比值、异常和 CIPW 标准矿物。

【主要能力】 pyrolite 通过 pandas 扩展接口暴露功能:df.pyrochem 提供地球化学方法,df.pyrocomp 提供成分数据方法,绘图通过 pyroplot 接口完成。其关键模块包括:pyrolite.plot(三元图、蜘蛛图)、pyrolite.geochem.norm(标准化参考)、pyrolite.comp(CLR、ALR、ILR 变换)、pyrolite.plot.templates(TAS、Pearce 等模板)、pyrolite.mineral.normative(CIPW 标准矿物)。 常用标准化参考包括球粒陨石(Chondrite_McDonough1995,用于 REE 模式)、原始地幔(PM_McDonough1995,用于微量元素)、N-MORB(NMORB_SunMcDonough1989,用于洋底玄武岩)、上地壳(UCC_RudnickGao2003,用于地壳岩石)。

【使用方式】 首先导入依赖并读取数据: import pandas as pd import matplotlib.pyplot as plt from pyrolite.geochem.norm import get_reference_composition df = pd.read_csv('samples.csv') 然后通过 df.pyrochem 与 df.pyrocomp 调用相应方法。例如稀土配分图: chondrite = get_reference_composition('Chondrite_McDonough1995') ax = df.pyrochem.normalize_to(chondrite, units='ppm').pyroplot.REE(unity_line=True) 三元图示例: ax = df[['SiO2', 'CaO', 'Na2O']].pyroplot.scatter(c='k', s=50) TAS 图示例: from pyrolite.plot.templates import TAS df['Na2O_K2O'] = df['Na2O'] + df['K2O'] ax = TAS() ax.scatter(df['SiO2'], df['Na2O_K2O'], c='red', s=50) 微量元素蜘蛛图示例: pm = get_reference_composition('PM_McDonough1995') ax = df.pyrochem.normalize_to(pm).pyroplot.spider(unity_line=True) 成分数据变换示例: df_closed = df.pyrocomp.renormalise(scale=100) df_clr = df.pyrocomp.CLR() df_alr = df.pyrocomp.ALR() df_ilr = df.pyrocomp.ILR() 元素比值与异常示例: df['La_Yb'] = df['La'] / df['Yb'] df['Eu_Eu*'] = df['Eu'] / (df['Sm'] * df['Gd']) ** 0.5 lambdas = df.pyrochem.lambda_lnREE() CIPW 标准矿物示例: from pyrolite.mineral.normative import CIPW_norm norm = CIPW_norm(df) # df 需包含以 wt% 表示的主量氧化物 Pearce 判别图示例: from pyrolite.plot.templates import pearce_templates ax = pearce_templates.YNb() ax.scatter(df['Nb'], df['Y'], c='red', s=50)

【适用场景】 适合需要将地球化学分析与 pandas 工作流结合、进行成分对数比变换或在 Python 中完成稀土标准化的用户。典型流程为:将样品数据载入 pandas DataFrame;使用 df.pyrocomp.renormalise(scale=100) 对成分做闭合处理;用 TAS() 绘制 TAS 图并叠加样品数据;用 df.pyrochem.normalize_to() 对稀土做球粒陨石标准化并绘制 REE 蜘蛛图;计算 Eu 异常与 La/Yb 比值;生成主量元素 Harker 变异图;导出图件用于发表。

【使用提示】 分析前对成分做闭合处理(确保总和为 100%);统计分析时使用对数比(CLR/ALR/ILR);蜘蛛图选择适当的标准化参考;注意检查 Eu 异常(正异常指示堆积,负异常指示分异)。

【限制】 与 GCDkit 相比,pyrolite 内置分类模板较少;它是 Python 原生工具,不属于 R 生态;与具备图形界面的 PetroGraph 相比,需要编程使用;若仅需无标准化的简单散点图,可直接使用 matplotlib。pyrolite 的安装方式、许可与费用信息暂未提供。