使用 for 循环计算峰度和偏度

Calculte kurtosis and skewness using for loop

我正在尝试计算不同领域的偏度和峰度。我想把每个字段名放在最后 table 。峰度和偏度。 为此,我编写了下一个代码:

for i in data_dis.columns:
    print('skewness',i,':',i.skew())
    print('Kurtosis',i,':',i.kurtosis())

AttributeError: 'str' object has no attribute 'skew'

我 100% 确定我的数据库中没有字符串,正如您从信息中看到的那样:

data_dis.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 1412 entries, 0 to 1411
Data columns (total 13 columns):
HR90     1412 non-null float64
HC90     1412 non-null float64
PO90     1412 non-null int64
RD90     1412 non-null float64
PS90     1412 non-null float64
UE90     1412 non-null float64
DV90     1412 non-null float64
MA90     1412 non-null float64
POL90    1412 non-null float64
DNL90    1412 non-null float64
BLK90    1412 non-null float64
GI89     1412 non-null float64
FH90     1412 non-null float64

我看到偏斜在这里有效: http://www.christianherta.de/lehre/dataScience/exploratory/intro-explorative-data-analysis.php

我的最终目标是创建一个 table 每个字段的偏度和峰度数据。

您不需要 for 循环,您可以使用数据框方法为每个数值列计算 偏度峰度

data_dis.skew()
data_dis.kurtosis()

它们都是 return 一个 Pandas 系列,索引列名称和值分别为列偏度和列峰度。