【发布时间】:2020-09-29 17:25:59
【问题描述】:
我有一个包含多列和变量的数据框。 我想创建一个函数以应用于数据帧的某些变量,以创建一些表示均值、中位数和众数的分布图。 我找到了一个很棒的代码,你会在后面看到。
我的问题是我想自动创建显示图,而不是每次我想在另一个变量上创建图时都复制粘贴它,但我不知道该怎么做。
这是代码(我想轻松更改变量“fat_100g”):
f, (ax_box, ax_hist) = plt.subplots(2, sharex=True, gridspec_kw= {"height_ratios": (0.2, 1)})
mean=df['fat_100g'].mean()
median=df['fat_100g'].median()
mode=df['fat_100g'].mode().to_numpy()[0]
sns.boxplot(df["fat_100g"], ax=ax_box)
ax_box.axvline(mean, color='r', linestyle='--')
ax_box.axvline(median, color='g', linestyle='-')
ax_box.axvline(mode, color='b', linestyle='-')
sns.distplot(df["fat_100g"], ax=ax_hist)
ax_hist.axvline(mean, color='r', linestyle='--')
ax_hist.axvline(median, color='g', linestyle='-')
ax_hist.axvline(mode, color='b', linestyle='-')
plt.legend({'Mean':mean,'Median':median,'Mode':mode})
ax_box.set(xlabel='')
plt.show()
【问题讨论】:
标签: python pandas function dataframe plot