У меня есть фрейм данных pandas с групповым полем и интересующей переменной.Для каждой строки в кадре данных я хочу подсчитать, сколько строк в одной и той же группе имеют большее значение для интересующей переменной.
Ниже приведен пример того, чего я пытаюсь достичь:
import pandas as pd
df = pd.DataFrame(data = [['a',1],['a',2],['a',2],['a',3],['b',4],['b',2],['b',6]],
columns = ['groups','value'])
df
groups value
0 a 1
1 a 2
2 a 2
3 a 3
4 b 4
5 b 2
6 b 6
Вот результат, который я надеюсь получить:
groups value what_i_want
0 a 1 3
1 a 2 1
2 a 2 1
3 a 3 0
4 b 4 1
5 b 2 2
6 b 6 0
Я знаю, что могу получить этот ответ, просматривая каждую строку кадра данных, однако я также знаю, что итерациячерез ряды данных - последнее средство, и мой полный набор данных намного больше, и это займет много времени.Я предполагаю, что есть какой-то способ сделать это с помощью группового или применения, но я не могу понять это.
Спасибо!