我正在尝试使用Multiindex(http://pandas.pydata.org/pandas-docs/stable/groupby.html#groupby-with-multiindex)制作GroupBy()的散点图。也就是说,我想在x轴上绘制一个标签,在y轴上绘制另一个标签,并将mean()绘制为每个点的大小。
df['RMSD'].groupby([df['Sigma'],df['Epsilon']]).mean()
返回:
Sigma_ang Epsilon_K
3.4 30 0.647000
40 0.602071
50 0.619786
3.6 30 0.646538
40 0.591833
50 0.607769
3.8 30 0.616833
40 0.590714
50 0.578364
Name: RMSD, dtype: float64
我想绘制类似:plt.scatter(x=Sigma, y=Epsilon, s=RMSD)
最好的方法是什么?我无法为每个RMSD值获取正确的Sigma和Epsilon值。
答案 0 :(得分:0)
+1到Vaishali Garg。根据他的评论,以下作品:
df_mean = df['RMSD'].groupby([df['Sigma'],df['Epsilon']]).mean().reset_index()
plt.scatter(df_mean['Sigma'], df_mean['Epsilon'], s=100.*df_mean['RMSD'])