Emulate underscore.js¶
filter¶
agate’s Table.where()
functions exactly like Underscore’s filter
.
new_table = table.where(lambda row: row['state'] == 'Texas')
reject¶
To simulate Underscore’s reject
, simply negate the return value of the function you pass into agate’s Table.where()
.
new_table = table.where(lambda row: not (row['state'] == 'Texas'))
find¶
agate’s Table.find()
works exactly like Underscore’s find
.
row = table.find(lambda row: row['state'].startswith('T'))
any¶
The Any
aggregation works like Underscore’s any
.
true_or_false = table.aggregate(Any('salaries', lambda d: d > 100000))
You can also use Table.where()
to filter to columns that pass the truth test.