您好我正在处理pandas中的数据框,看起来像这样
ID Color Size Shape
1 Blue Small Triangle
2 Red Medium Square
3 Yellow Large Circle
我想将每一行与数据列表进行比较,并创建一个新的得分列,计算每行与列表匹配的次数。
示例[红色,中等,圆形]将产生以下数据帧。
ID Color Size Shape Score
1 Blue Small Triangle 0
2 Red Medium Square 2
3 Yellow Large Circle 1
理想情况下,我希望能够创建多个得分列来检查多个列表。
答案 0 :(得分:2)
将isin
用于data.frame
l=['Red', 'Medium', 'Circle']
df['score']=df.isin(l).sum(1)
df
Out[404]:
ID Color Size Shape score
0 1 Blue Small Triangle 0
1 2 Red Medium Square 2
2 3 Yellow Large Circle 1