我有一个数据框
Id Brand1 Brand2 Brand3 Brand4 Brand5
1 1 0 0 1 1
2 1 0 0 0 0
3 1 0 0 0 0
4 1 1 0 1 0
我也有关于每个品牌类别的字典。
categorydict = {'General': ['Brand1', 'Brand2', 'Brand3'],
'Fueloil': ['Brand4', 'Brand5']}
现在,我想为我的
categorydict
中每个类别的表添加新字段,并为每个id添加值的总和。Id Brand1 Brand2 Brand3 Brand4 Brand5 General FuelOil
1 1 0 0 1 1 1 2
2 1 0 0 0 0 1 0
3 1 0 0 0 0 1 0
4 1 1 0 1 0 2 1
我找不到我应该使用的方法,将不胜感激
最佳答案
按字典循环并按sum
填充的键创建新列:
for k, v in categorydict.items():
df[k] = df.loc[:, v].sum(axis=1)
print (df)
Id Brand1 Brand2 Brand3 Brand4 Brand5 General Fueloil
0 1 1 0 0 1 1 1 2
1 2 1 0 0 0 0 1 0
2 3 1 0 0 0 0 1 0
3 4 1 1 0 1 0 2 1