从 pandas groupby 中提取列作为向量

Extracting columns as vectors from pandas groupby

我使用 pandas' groupby 函数创建了这个 table,并希望将每一列提取为 vector/array
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=)

先尝试.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'])