Продолжайте подсчет количества значений, превышающих пороговое значение в кадре данных панд - PullRequest
0 голосов
/ 22 октября 2018

В приведенном ниже кадре данных:

    va
0   35
1   12
2   24
3   25
4   26
5   19
6   14
7   22
8   35
9   35
10  29
11  13
12  20
13  10
14  10
15  23
16  11
17  30
18  26
19  32
20  11

Я хотел бы сохранить счетчик количества строк, в которых значение столбца va превышает 30. Я думал об использовании value_counts, но этоне кажется правильным

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Существует 2 решения - со сбросом счетчика в столбец new и другим решением без сброса в new1:

a = df['va'].gt(30)
b = a.cumsum()
df['new'] = b-b.mask(a).ffill().fillna(0).astype(int)
df['new1'] = b.where(a, 0)
print (df)
    va  new  new1
0   35    1     1
1   12    0     0
2   24    0     0
3   25    0     0
4   26    0     0
5   19    0     0
6   14    0     0
7   22    0     0
8   35    1     2
9   35    2     3
10  29    0     0
11  13    0     0
12  20    0     0
13  10    0     0
14  10    0     0
15  23    0     0
16  11    0     0
17  30    0     0
18  26    0     0
19  32    1     4
20  11    0     0
0 голосов
/ 22 октября 2018

Чтобы получить количество строк, вы можете сделать следующее:

your_counter = len(your_df[your_df['va'] > 30])

(очевидно, «your_df» должен быть заменен именем вашего фрейма данных)

Что делает кодсоздает новый фрейм данных, содержащий только те строки, у которых значение 'va' превышает 30. Затем функция 'len' считает количество строк.

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