问题描述
for c in df.select_dtypes(include=[np.number]):
sk = skew(df[c])
kt = kurtosis(df[c])
如何将此代码段转换为如下所示的数据框:
col_name | 偏度 | 峰度 |
---|---|---|
col_a | 0.1 | 2 |
col_b | 3 | 0.5 |
解决方法
为什么不直接使用 pandas.DataFrame.kurtosis
和 pandas.DataFrame.skew
?
示例:
>>> df = pd.DataFrame({'a': ['a','b','c','d','e'],'b': [1,2,3,0],'c': [-1,5,4.6,10.3,11]})
>>> pd.concat([df.skew(),df.kurtosis()],axis=1).reset_index().rename({'index': 'col_name',0: 'skewness',1: 'kurtosis'},axis=1)
col_name skewness kurtosis
0 b -0.404796 -0.177515
1 c -0.487970 -0.620300