def filter_data(csv_file, start_day=28, end_day=90, interest=780, state=None, **kwargs):
f = pd.read_csv(csv_file)
f['sub_title'] = f['sub_title'].fillna('')
candidate = []
filter = Filter()
filter.install_rule(lambda v: v['period'] <= datetime.timedelta(days=20) and v['benefit'] > 6, ok_stop=True, weight=5)
filter.install_rule(lambda v: v['benefit'] >= 8 and v['period'] < datetime.timedelta(days=230))
filter.install_rule(lambda v: not v['sub_title'].startswith('????'))
for row in f.iterrows():
idx, v = row
money = money2float(v['money'])
period = period2timedelta(v['period'])
# remove percent sign(%)
benefit = float(v['expected_benefit'][:-1])
item = {
'title': v['title'],
'sub_title': v['sub_title'],
'money': money,
'period': period,
'benefit': benefit,
}
if filter.check(item):
candidate.append(item)
return candidate
评论列表
文章目录