在python中绘制预先聚合的数据

时间:2019-04-09 05:19:25

标签: python plot seaborn distribution

我有一个预聚合元组的列表:

[{'target_y_n': 0, 'value': 0.5, 'count':1000},{'target_y_n': 1, 'value': 1, 'count':10000}, ...]

如何在不将聚合表示扩展为每个值的k副本的情况下可视化分布(https://seaborn.pydata.org/generated/seaborn.distplot.html)或获取频率图,但仍要尽可能地从现有工具中重复使用像distplot, countplot一样?

编辑

在R http://www.amitsharma.in/post/cumulative-distribution-plots-for-frequency-data-in-r/中看起来很有前途

1 个答案:

答案 0 :(得分:0)

基于R源,这可能是python中的答案

df = pd.DataFrame([{'target_y_n': 0, 'value': 0.5, 'count':1000}, {'target_y_n': 0, 'value': 0.4, 'count':100},{'target_y_n': 1, 'value': 1, 'count':10000}, {'target_y_n': 1, 'value': 2, 'count':1000}])
df = df.sort_values(['target_y_n', 'value'])
display(df)

df['count_cum'] = df.groupby(['target_y_n'])['count'].cumsum()
display(df)

sns.lineplot(x='value',y='count_cum', drawstyle='steps-pre', data= df, hue='target_y_n')