在pandas

时间:2018-06-13 19:59:30

标签: python pandas

您好我正在处理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

理想情况下,我希望能够创建多个得分列来检查多个列表。

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