Как выбрать минимальное значение в pandas dataframe и сохранить мои строковые данные - PullRequest
0 голосов
/ 11 мая 2018

У меня есть pandas dataframe, столбцы - строка и значение, если я использую 'groupby', я потеряю свои данные, как написать свой код для сохранения моих данных?

print(df)

tconst title bool   id  pair
t01    Blow  True   1   1
t02    Blow  False  1   4
t03    Fast  TRUE   2   2
t04    Fast  FALSE  2   2
t05    Storm True   3   9  

Если встречаются одинаковые 'id', я хочу выбрать минимальное значение в 'pair' (например: id = 1), если встречаются одинаковые 'id', но значение 'pair' одинаково, я хочу сохранить их все ( например: ID = 2)

.
out:
tconst title  bool   id  pair
t01    Blow   True   1   1
t03    Fast   TRUE   2   2
t04    Fast   FALSE  2   2
t05    Storm  True   3   9  

1 Ответ

0 голосов
/ 11 мая 2018

Используйте groupby, transform с min, чтобы найти наименьшее значение в группе, затем создайте логическую серию для логического индексирования:

df[df['pair'] == df.groupby('id')['pair'].transform('min')]

Выход:

  tconst  title   bool  id  pair
0    t01   Blow   True   1     1
2    t03   Fast   True   2     2
3    t04   Fast  False   2     2
4    t05  Storm   True   3     9
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...