0

我在这个论坛中发现了一个代码,它假设计算并在直方图上显示偏度和峰度。

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

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:基于位置的索引只能有[整数,整数切片(开始点包含,结束点排除),整数列表,布尔数组]类型

我知道这里的问题是位置,可能是代码中写有 iloc 的部分,但我不知道如何解决它,我刚刚开始使用 python,所以解释越广泛,我遇到的问题就越少。 ..

我的最终目标是调整这些图表上的峰度和偏度

4

1 回答 1

1

我认为问题在于这个数据['HR90'] 已经是一列。并且您想在数据框的所有列上绘制图。

尝试用你似乎正在做的 for 循环中的整个数据帧数据替换这个 data['HR90'] 。

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')
于 2019-11-25T12:26:13.390 回答