You need to enable JavaScript to run this app. pandas groupby聚合结果如何正确提取列向量用于多字段对Duration的绘图
优惠活动
大模型
产品
解决方案
定价
更多

pandas groupby聚合结果如何正确提取列向量用于多字段对Duration的绘图

列向量提取实现方法

基于你生成的df_duration_means聚合表,提取对应列向量并完成折线图绘制的实现完全不需要复杂的重构操作:

  • 核心提取逻辑:聚合表的索引本身就是Duration维度,直接将索引和数值列转成numpy数组即可得到绘图可用的纯数值向量
    # 提取Duration作为x轴向量
    dur = df_duration_means.index.to_numpy()
    # 分别提取三个指标列作为对应y轴向量
    interest_vec = df_duration_means['Interest'].to_numpy()
    loan_amount_vec = df_duration_means['Loan amount'].to_numpy()
    ltv_vec = df_duration_means['LTV'].to_numpy()
    
  • 现有提取代码的可优化点:
    • 直接将pandas Index、Series对象传入matplotlib绘图,在部分版本下会触发类型适配警告,加.to_numpy()转成纯数值数组即可完全规避这类问题
    • 之前提取Loan amount列时将变量命名为interest_mx,变量名和实际存储内容不匹配,后续绘图容易出现参数传错的问题
适配现有绘图框架的代码实现

按照你现有matplotlib代码框架,逐列绘制对应折线只需要将提取好的向量传入绘图方法即可:

import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
# 逐线绘制,通过颜色和标签区分不同指标
ax.plot(dur, interest_vec, color='#2E86AB', label='Interest')
ax.plot(dur, loan_amount_vec, color='#A23B72', label='Loan amount')
ax.plot(dur, ltv_vec, color='#F18F01', label='LTV')
# 增加图例避免不同系列的线条混淆
ax.legend()

注意:groupby的聚合结果天然按分组键(Duration)排序对齐,提取出的三个y轴向量元素顺序和Duration向量的元素顺序完全一一对应,不会出现x、y值错位的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.06 22:45:02