pandas filtrando y comparando fechas

Tengo un archivo sql que consiste en los datos debajo de los cuales leo en pandas.

df = pandas.read_sql('Database count details', con=engine, index_col='id', parse_dates='newest_available_date') 

Salida

 id code newest_date_available 9793708 3514 2015-12-24 9792282 2399 2015-12-25 9797602 7452 2015-12-25 9804367 9736 2016-01-20 9804438 9870 2016-01-20 

La siguiente línea de código es obtener la fecha de la semana pasada.

 date_before = datetime.date.today() - datetime.timedelta(days=7) # Which is 2016-01-20 

Lo que estoy tratando de hacer es comparar date_before con df e imprimir todas las filas que sean menos de date_before

if (df['newest_available_date'] < date_before): print(#all rows)

Obviamente, esto me devuelve un error. The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all(). The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

¿Cómo debería hacer esto?

Yo haría una máscara como:

 a = df[df['newest_date_available'] < date_before] 

Si date_before = datetime.date(2016, 1, 19) , esto devuelve:

  id code newest_date_available 0 9793708 3514 2015-12-24 1 9792282 2399 2015-12-25 2 9797602 7452 2015-12-25