Стандартное отклонение временного ряда - PullRequest
2 голосов
/ 06 октября 2019

Я хотел рассчитать среднее значение и стандартное отклонение образца. Образец состоит из двух столбцов, первый из которых является временным, а второй - разделенным пробелом значением. Я не знаю, как рассчитать среднее и стандартное отклонение второго столбца вейлов, используя python, может быть, scipy? Я хочу использовать этот метод для больших наборов данных. Я также хочу проверить, какой номер набора в семь раз превышает стандартное отклонение. Спасибо за помощь.

time value
 1 1.17e-5
 2 1.27e-5
 3 1.35e-5
 4 1.53e-5
 5 1.77e-5

Среднее значение 1.418e-5 и стандартное отклонение 2.369-6.

1 Ответ

2 голосов
/ 06 октября 2019

Чтобы ответить на ваш первый вопрос, предполагая, что датафрейм вашего образца равен df, должно работать следующее:

import pandas as pd

df = pd.DataFrame({'time':[1,2,3,4,5], 'value':[1.17e-5,1.27e-5,1.35e-5,1.53e-5,1.77e-5]}

df будет выглядеть примерно так:

>>> df
   time     value
0     1  0.000012
1     2  0.000013
2     3  0.000013
3     4  0.000015
4     5  0.000018

Затем, чтобы получить стандартное отклонение и среднее для столбца value соответственно, выполните следующее, и вы получите выходные данные:

>>> df['value'].std()
2.368966019173766e-06

>>> df['value'].mean()
1.418e-05

Чтобы ответить на второй вопрос, попробуйте следующее:

std = df['value'].std()
df = df[(df.value > 7*std)]

Я предполагаю, что вы хотите получить строки, в которых value больше, чем в 7 раз стандартное отклонение выборки. Если вы на самом деле хотите больше или равно, просто измените > на >=. После этого вы сможете получить следующее:

>>> df
   time     value
4     5  0.000018

Кроме того, следуя предложению @Mad Physicist о добавлении дельта степеней свободы ddof=0 (если вы не знакомы с этим, проверьте дельта степенейFreedom Wiki ), при этом получается следующее:

std = df['value'].std(ddof=0)
df = df[(df.value > 7*std)]

с выводом:

>>> df
   time     value
3     4  0.000015
4     5  0.000018

PS Если я не ошибаюсь, здесь принято придерживаться одноговопрос в пост, а не в два.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...