Pandas Получить первый Окно значений в dataframe [duplicate]

У меня возникла аналогичная проблема, когда я менял сигнатуры методов в своем приложении. Очистка и восстановление моего проекта разрешили «NoSuchMethodError».

14
задан Tasos 17 November 2016 в 17:32
поделиться

2 ответа

Для существующих совпадений используйте query:

df.query(' A > 3' ).head(1)
Out[33]: 
   A  B  C
2  4  6  3

df.query(' A > 4 and B > 3' ).head(1)
Out[34]: 
   A  B  C
4  5  4  5

df.query(' A > 3 and (B > 3 or C > 2)' ).head(1)
Out[35]: 
   A  B  C
2  4  6  3
8
ответ дан Boud 16 August 2018 в 00:55
поделиться
  • 1
    запрос выглядит намного чище, чем мой подход с фрагментами. – PabTorre 17 November 2016 в 17:38

вы можете позаботиться о первых 3 предметах с нарезкой и головой:

  1. df[df.A>=4].head(1)
  2. df[(df.A>=4)&(df.B>=3)].head(1)
  3. df[(df.A>=4)&((df.B>=3) * (df.C>=2))].head(1)

Условие в случае, если ничего не возвращается, вы можете обрабатывать с помощью try или if, если ...

try:
    output = df[df.A>=6].head(1)
    assert len(output) == 1
except: 
    output = df.sort_values('A',ascending=False).head(1)
1
ответ дан Tgsmith61591 16 August 2018 в 00:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: