我在这个论坛上找到了一个代码,该代码可以计算并显示直方图上的偏斜度和峰度。
这是我在情节中使用的代码:
sns.distplot(data['HR90'], color="blue", bins=15, kde=True)
ax.text(x=0.97, y=0.97, transform=ax.transAxes, s="Skewness: %f" % data.iloc[:,i].skew(),\
fontweight='demibold', fontsize=10, verticalalignment='top', horizontalalignment='right',\
backgroundcolor='white', color='xkcd:poo brown')
ax.text(x=0.97, y=0.91, transform=ax.transAxes, s="Kurtosis: %f" % data.iloc[:,i].kurt(),\
fontweight='demibold', fontsize=10, verticalalignment='top', horizontalalignment='right',\
backgroundcolor='white', color='xkcd:dried blood')
但是我得到一个错误:
ValueError:基于位置的索引只能具有[整数,整数 切片(起始点为INCLUDED,结束点为EXCLUDED),列表为 整数,布尔数组]类型
我理解这里的问题是位置,可能是代码中显示iloc的部分,但是我不知道如何解决它,我刚刚开始使用python,所以解释的范围越广,我的问题就越少会...
我的最终目标是深入分析这些图中的峰度和偏度
答案 0 :(得分:0)
我认为问题是此数据['HR90']已经是一列。 并且您想要在数据框的所有列上绘制图。
尝试将此数据['HR90']替换为for循环中的整个数据帧数据 你似乎在做。
sns.distplot(data['HR90'], color="blue", bins=15, kde=True)
ax.text(x=0.97, y=0.97, transform=ax.transAxes, s="Skewness: %f" % data['HR90'].skew(),\
fontweight='demibold', fontsize=10, verticalalignment='top', horizontalalignment='right',\
backgroundcolor='white', color='xkcd:poo brown')
ax.text(x=0.97, y=0.91, transform=ax.transAxes, s="Kurtosis: %f" % data['HR90'].kurt(),\
fontweight='demibold', fontsize=10, verticalalignment='top', horizontalalignment='right',\
backgroundcolor='white', color='xkcd:dried blood')