почему ряды дают мне значение NAN, когда данные ряда не постоянны - PullRequest
0 голосов
/ 05 июля 2018

У меня есть вопрос относительно z-показателя в python. Я планирую рассчитать коэффициент покрытия-GPOA и генерировать его значения z-показателя в виде рядов. Вот что я сделал:

 #Profitablity
    # GPOA
    gpoa=(ccm_['revt']-ccm_['cogs'])/ccm_['at']
    gpoa=np.array(gpoa)
    gpoa_z=stats.zscore(gpoa)
    print (gpoa)
    print(gpoa_z)

Вот вывод:

[ 0.09561083  0.09561083  0.09561083 ...,  0.02845481  0.00311008  0.        ]
[ nan  nan  nan ...,  nan  nan  nan]

Первые несколько данных дал NAN, я могу понять. Это произошло потому, что данные постоянны, поэтому стандартное отклонение равно нулю, следовательно, не может быть параметром, что привело к NAN. Но, как вы можете видеть, следующие данные больше не являются постоянными, z-счет по-прежнему равен NAN.

Обновление 1:

Я изменил gpoa с series на array, а затем применил stats.zcore, по-прежнему не работает.

Обновление 2:

#Profitablity
# GPOA
gpoa=(ccm_['revt']-ccm_['cogs'])/ccm_['at']
gpoa=np.array(gpoa, dtype=pd.Series)
gpoa_mean=np.mean(gpoa)
gpoa_std=np.std(gpoa)
gpoa_z=(gpoa-gpoa_mean)/gpoa_std
print(gpoa_z)

Все еще не работает. Вывод следующий:

[nan nan nan ..., nan nan nan]

мой gpoa_mean - это inf, и он уже float64.

Я ценю вашу помощь!

...