图形显示峰度和偏度的错误

时间:2019-11-25 12:12:32

标签: python pandas histogram kurtosis

我在这个论坛上找到了一个代码,该代码可以计算并显示直方图上的偏斜度和峰度。

这是我在情节中使用的代码:

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,所以解释的范围越广,我的问题就越少会...

我的最终目标是深入分析这些图中的峰度和偏度

1 个答案:

答案 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')