Удалить строки панд df под порогом дисперсии - PullRequest
0 голосов
/ 30 октября 2019

Мой df выглядит следующим образом (я получил его с помощью pivot_table):

ID_column Test1 Test2 Test3 Test4
ID1       0     1     3     0
ID2       4     2     0     0
ID3       3     1     3     5

Я хочу удалить все строки , которые попадают под порог дисперсии x при расчете дисперсии* * строка +1006 . Я не мог найти это нигде, только решения для этого для столбцов.

1 Ответ

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

Для этого можно использовать следующий код:

threshold = 1 # define variance threshold    
row_vars = df.var(axis=1) # calculate variance over rows.

rows_to_drop = df[row_vars>threshold].index

# drop the rows in place
df.drop(rows_to_drop, axis=0, inplace=True)

Для суммирования:

Рассчитать дисперсию построчно, получить индексы строк с дисперсией, превышающейэтот порог, а затем бросьте их на место.

...