三个条件至少满足两个的 pandas
背景
- 女孩子相亲 提出三个条件 只要男孩复合两个以上才能见面
数据
张三 :'帅气', '阳光', '活泼', '酷炫
李四 :'帅气', '阳光', '活泼'
王五 :'帅气', '阳光', '猥琐', '富有'
标签
- 标签 帅气', '阳光', '活泼'
- 只要有两个符合女孩的条件就推荐出来
代码实现
import pandas as pd
if __name__ == '__main__':
data = {
'name': ['张三', '李四', '王五'],
'tag': [
['帅气', '阳光', '活泼', '酷炫'],
['帅气', '阳光', '活泼', ],
['帅气', '阳光', '猥琐', '富有']
]
}
df = pd.DataFrame(data)
dest = {'帅气', '阳光', '活泼'}
df['X'] = df.tag.apply(
lambda n, extra: True if len(set(n).intersection(extra)) >= 3 else False,
args=(dest,))
tags = df.loc[df['X'] == True]
tags = tags.drop(axis=1, columns=['X'])
tags = tags.apply(lambda x: tuple(x), axis=1).values.tolist()
print(tags)
本文来自博客园,作者:vx_guanchaoguo0,转载请注明原文链接:https://www.cnblogs.com/guanchaoguo/p/17014851.html