import pandas as pd def filter_and_drop(approved, eligiblepaths, min_hashes): """ Filters eligiblepaths to rows where all hashes are in approved, then drops rows with fewer than min_hashes hashes. """ approved_hashes = set(approved['sha256']) def all_hashes_approved(row): return all(h in approved_hashes for h in row['sha256']) filtered = eligiblepaths[eligiblepaths.apply(all_hashes_approved, axis=1)] filtered = filtered[filtered['sha256'].apply(len) >= min_hashes] return filtered