Я предпочитаю использовать Series.map
с Counter
, тогда l oop не требуется:
from collections import Counter
items = ['master','master','basic','clear']
df['value'] = df['name'].map(Counter(items))
print (df)
key name value
0 0 master 2
1 1 basic 1
2 2 clear 1
3 3 debu 0
Но это возможно, как указано в комментариях, фильтруйте boolean indexing
с DataFrame.loc
, на мой взгляд, назначить с +=
не проблема в pandas, используйте его бесплатно:
items = ['master','master','basic','clear']
for i in items: # loop the items
df.loc[df['name']==i, 'value'] += 1
print (df)
key name value
0 0 master 2
1 1 basic 1
2 2 clear 1
3 3 debu 0