Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

399
Views
Pandas: Filtrado de múltiples condiciones

Estoy tratando de hacer una indexación booleana con un par de condiciones usando Pandas. Mi DataFrame original se llama df . Si realizo lo siguiente, obtengo el resultado esperado:

 temp = df[df["bin"] == 3] temp = temp[(~temp["Def"])] temp = temp[temp["days since"] > 7] temp.head()

Sin embargo, si hago esto (que creo que debería ser equivalente), no obtengo filas:

 temp2 = df[df["bin"] == 3] temp2 = temp2[~temp2["Def"] & temp2["days since"] > 7] temp2.head()

¿Alguna idea de qué explica la diferencia?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Use () porquela precedencia del operador :

 temp2 = df[~df["Def"] & (df["days since"] > 7) & (df["bin"] == 3)]

Alternativamente, cree condiciones en filas separadas:

 cond1 = df["bin"] == 3 cond2 = df["days since"] > 7 cond3 = ~df["Def"] temp2 = df[cond1 & cond2 & cond3]

Muestra :

 df = pd.DataFrame({'Def':[True] *2 + [False]*4, 'days since':[7,8,9,14,2,13], 'bin':[1,3,5,3,3,3]}) print (df) Def bin days since 0 True 1 7 1 True 3 8 2 False 5 9 3 False 3 14 4 False 3 2 5 False 3 13 temp2 = df[~df["Def"] & (df["days since"] > 7) & (df["bin"] == 3)] print (temp2) Def bin days since 3 False 3 14 5 False 3 13
over 4 years ago · Santiago Trujillo Report

0

O

 df_train[(df_train["fold"]==1) | (df_train["fold"]==2)]

Y

 df_train[(df_train["fold"]==1) & (df_train["fold"]==2)]
over 4 years ago · Santiago Trujillo Report

0

Alternativamente, puede usar el método de query :

 df.query('not Def & (`days since` > 7) & (bin == 3)')
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!