Как лучше всего фильтровать группы, условно проверяя только значения первой строки каждой группы?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как лучше всего фильтровать группы, условно проверяя только значения первой строки каждой группы?

Сообщение Anonymous »

Это мой фрейм данных:
import pandas as pd
df = pd.DataFrame(
{
'group': list('xxxxyyy'),
'open': [100, 150, 200, 160, 300, 150, 170],
'close': [105, 150, 200, 160, 350, 150, 170],
'stop': [104, 104, 104, 104, 400, 400, 400]
}
)

Ожидаемый результат — возврат группы x на основе столбца group:
group open close stop
0 x 100 105 104
1 x 150 150 104
2 x 200 200 104
3 x 160 160 104

Логика:
Я хочу проверить, находится ли df.stop.iloc[0] для каждой группы между df.open. iloc[0] и df.close.iloc[0]. А если между этими двумя, то я хочу вернуть всю эту группу.
Это моя попытка. Это работает, но я думаю, что есть лучший способ сделать это. Обратите внимание, что в предложении if необходимо проверить оба условия.
def func(df):
s = df.stop.iloc[0]
o = df.open.iloc[0]
c = df.close.iloc[0]

if (o

Подробнее здесь: https://stackoverflow.com/questions/789 ... lues-of-th
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»