Как обнаружить отклонение с помощью панд DataFrame? - PullRequest
0 голосов
/ 19 октября 2019

У меня есть некоторые данные, которые содержат 5 столбцов и 1000 строк. Сейчас я выбрал 3 случайных строки:

5 5 5 0.1 0.2

4 4 4 4   0.3

4 3 3 3   1

Как я могу обнаружить отклонение в каждой строке? Например, в первом ряду есть два 0, а во втором ряду один 0. Я попытался использовать среднее значение, но это не правильное решение.

1 Ответ

1 голос
/ 19 октября 2019

Вы можете сделать что-то вроде этого:

n=3
new_df=df.loc[:,~(df.diff(axis=1).abs()>n).any()]
print(new_df)
   col1  col2  col3
0   5.0   5.0   5.0
1   4.0   4.0   4.0
2   4.0   3.0   3.0

new_df=df.loc[:,(df.diff(axis=1).abs()>n).any()]
print(new_df)
   col4  col5
0   0.1   0.2
1   4.0   0.3
2   3.0   1.0

Вы можете выбрать нужный интервал.


Различия

print(df.diff(axis=1).abs())

   col1  col2  col3  col4  col5
0   NaN   0.0   0.0   4.9   0.1
1   NaN   0.0   0.0   0.0   3.7
2   NaN   1.0   0.0   0.0   2.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...