【问题标题】:Extracting columns as vectors from pandas groupby从 pandas groupby 中提取列作为向量
【发布时间】:2021-01-27 21:35:21
【问题描述】:

我使用 pandas 的 groupby 函数创建了这个表,并希望将每一列提取为向量/数组
df_duration_means = df.groupby('Duration').mean()

Interest Loan amount LTV
Duration
6 0.107500 274000.000000 0.652500
9 0.112500 510500.000000 0.580000
12 0.105345 276632.758621 0.595517
15 0.080000 81000.000000 0.678000
18 0.109167 516557.666667 0.455867
24 0.101500 374500.000000 0.554800

现在我想为 4 列(包括持续时间)中的每一列提取一个向量。但我无法做到,甚至检查了 pandas 文档和所有可能的类似线程。

dur = df_duration_means.index
print(dur)
interest_mx = df_duration_means['Loan amount']
print(interest_mx)

这样我就可以绘制每个列向量与持续时间向量:

fig =  plt.figure()
ax = fig.add_axes([0,0,1,1])
ax.plot(dur,in,color=)

【问题讨论】:

    标签: python pandas dataframe datatable pandas-groupby


    【解决方案1】:

    先尝试.reset_index(),然后使用方法.tolist()。像这样:

    df_duration_means = df_duration_means.reset_index()
    duration = df_duration_means.index.tolist()
    interest = df_duration_means['Interest'].tolist()
    loan_amount = df_duration_means['Loan amount'].tolist()
    ltv = df_duration_means['LTV'].tolist()
    

    然后,使用 durationinterestloan_amountltv 作为 plotly 的输入

    编辑:使用 plotly.express 有更简单的解决方案:

    import plotly.express as px 
    df_duration_means = df_duration_means.reset_index()
    fig = px.line(df_duration_means, x=df_duration_means.index, y=['Interest', 'Loan amount', 'LTV'])
    

    【讨论】:

    猜你喜欢
    • 2011-04-24
    • 2013-12-01
    • 2014-03-04
    • 2017-10-20
    • 2018-08-13
    • 2013-11-17
    相关资源
    最近更新 更多