Groupby Pandas数据框和图

时间:2018-01-11 19:45:11

标签: python pandas plot

我有一个Pandas数据框,并希望逐个特定的列绘制。目标是为每个组织设置一个单独的图表(如下图所示)。

Example plot

最有效的方法是什么?

来源摘录:

date                      time1           time2                time3     org                                                              
2017-11-16 02:14:20       36.46           20.42                16.04     abc
2017-11-21 08:39:15       40.12           10.18                29.94     abc
2017-11-06 08:21:08       33.00            0.00                33.00     bcd
2017-10-30 14:29:03       47.50           10.33                37.17     bcd
2017-11-09 07:51:48       31.92            1.92                30.00     efg
2017-11-07 08:53:05       33.00            1.04                31.96     efg

尝试过的代码:

# load data
df = pd.read_csv('Dataset.csv')

# identify unique values in org col
org_group = sorted(df['org'].unique())

# set date as index for plot
df = df.set_index('date')
df.head()

for i in range(len(org_group)):
    # select specific org value from df
    df_group = df[df.org == org_group[i]]

    # display plot
    df_plot = df_group.resample('W').agg('median').plot(title="Median Times for "+org_group[i])
    plt.show()

    # iterate
    i = i+1

1 个答案:

答案 0 :(得分:0)

如果您的数据框名为df

df = df[df.org == 'abc']

会过滤abc

要在org列中使用df.org.unique().tolist()

获取唯一项目列表

然后,您可以遍历列表并为每个组织获取单独的数据框