我试图使用describe()
获得一些描述性统计信息,但是获得nan
的数值。
我尝试使用axis=0
或axis=1
,而axis=1
产生正确的数值,但这不是我所需要的; axis=0
没有给出数值,希望得到点赞。
import scipy.stats as scs
import statsmodels.api as sm
arr = log_returns.to_numpy() #log_returns is the pd.DataFrame, 1200*9
scs.describe(arr, axis=0)
我尝试了其他数据框,效果很好,但是log_returns看起来不错。
这是我使用代码得到的:
DescribeResult(nobs=1263, minmax=(array([nan, nan, nan, nan, nan, nan, nan, nan, nan]), array([nan, nan, nan, nan, nan, nan, nan, nan, nan])), mean=array([nan, nan, nan, nan, nan, nan, nan, nan, nan]), variance=array([nan, nan, nan, nan, nan, nan, nan, nan, nan]), skewness=array([nan, nan, nan, nan, nan, nan, nan, nan, nan]), kurtosis=array([nan, nan, nan, nan, nan, nan, nan, nan, nan]))
实际上所有的nan值都应该是浮点数。
答案 0 :(得分:0)
import scipy.stats as scs
import statsmodels.api as sm
import numpy as np
arr = np.array([[ 0.00319106, -0.00020801, 0.01943055, 0.01673707, -0.00785203, 0.00484115],
[ 0.0168392 , 0.01185672, 0.02491374, -0.02243826, -0.01460924, 0.00407847],
[ 0.01888372, 0.03193653, 0.00877704, -0.01465269, 0.00651202, 0.00078617]])#log_returns.to_numpy() #log_returns is the pd.DataFrame, 1200*9
scs.describe(arr, axis=0)
并给出:
DescribeResult(nobs=3, minmax=(array([ 0.00319106, -0.00020801, 0.00877704, -0.02243826, -0.01460924,
0.00078617]), array([0.01888372, 0.03193653, 0.02491374, 0.01673707, 0.00651202,
0.00484115])), mean=array([ 0.01297133, 0.01452841, 0.01770711, -0.00678463, -0.00531642,
0.00323526]), variance=array([7.27852276e-05, 2.63671322e-04, 6.73259558e-05, 4.30106436e-04,
1.16348907e-04, 4.64396381e-06]), skewness=array([-0.66169565, 0.2940851 , -0.36884708, 0.59665684, 0.40799184,
-0.60877654]), kurtosis=array([-1.5, -1.5, -1.5, -1.5, -1.5, -1.5]))
我必须进行一些statmodels
更新才能使其正常运行,但是现在看来它可以正常运行。
尝试使用pip将statmodels
更新到最新版本:
pip install statsmodels --upgrade
如果您改为使用conda则更好:
conda upgrade statsmodels