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.
all#
The All aggregation works like Underscore’s all.
true_or_false = table.aggregate(All('salaries', lambda d: d > 100000))