Python 3-分组依据用于合并的行

时间:2018-07-10 15:00:44

标签: python-3.x matplotlib group-by

我有一个名为exp的df,其中包含以下列:

| category | p_value | score |
| tennis   |  0.45   |  432  |
| soccer   |  0.88   |  46   |

我的目标是对每个p值的所有分数进行归类,并创建一个按类别分组的累积图。

我设法使用以下方法创建垃圾箱:

# find the p_value bin, each row belongs to
# 0 is underflow, len(edges) is overflow bin
exp['bin'] = np.digitize(exp['p value'], bins=bin_edges)

# get the number of UBI per p_value bin
score_per_bin = exp.groupby('bin')['score'].sum()

然后设法绘制它:  并非每个垃圾箱都可以装满,所以我们将使用熊猫索引

binned = pd.DataFrame({
    'center': bin_center,
    'width': bin_width,
    'score': np.zeros(len(bin_center))
}, index=np.arange(1, len(bin_edges)))

binned['score'] = score_per_bin


plt.step(
    binned['center'],
    binned['score'].cumsum(),
    where='mid',
)
plt.xlabel('p-value')
plt.ylabel('score')
plt.show()

enter image description here

但是我得到了一条带有1条线的图,而每个类别需要一条线。 我的问题是-如何保留类别并进行绘制?

谢谢

0 个答案:

没有答案