我有一个Pandas数据框,并希望逐个特定的列绘制。目标是为每个组织设置一个单独的图表(如下图所示)。
最有效的方法是什么?
来源摘录:
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
答案 0 :(得分:0)
如果您的数据框名为df
df = df[df.org == 'abc']
会过滤abc
要在org
列中使用df.org.unique().tolist()
然后,您可以遍历列表并为每个组织获取单独的数据框