首页 > 解决方案 > 在 PANDAS/Python 中绘制 Groupby DatFrame 的结果

问题描述

在按索引“d”和“n”分组后,我有以下 Pandas 数据框(仅显示前 10 行)。

我想为每个“d”绘制不同的线图,x 轴是变量“n”,y 轴是“mean”+/- 2 *“std”值。

我还想要具有相同轴的附加线图,但仅针对不同的“平均值”值显示不同的线值。] 1 如果您能提供帮助,非常感谢。

标签: pythonpandasgroup-by

解决方案


这回答了你的问题了吗?

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

def somefunc(df):
    x = df['n']
    y1 = df['mean']+2*df['std']
    y2 = df['mean']-2*df['std']
    plt.figure()
    plt.plot(x,y1)
    plt.plot(x,y2)

df = pd.DataFrame(np.random.randint(low=0, high=4, size=(100, 5)),
                    columns=['mean', 'std', 'c', 'd', 'n'])

g = df.groupby('d').apply(somefunc)

推荐阅读