我有如下数据:
id attribute1 attribute2 attribute3 attribute4 attribute5 new otherattri
0 1 1 0 0 0 0 1 2
1 2 1 1 1 1 0 1234 12
2 3 0 0 0 0 1 5 21
3 4 1 0 1 0 0 13 93
4 5 0 0 0 1 0 4 2
我要计算的是名为
new
的列。我该怎么做才能在熊猫身上做到这一点呢?新列只是将dataframe中的前5列组合成一个新列,例如对于第4行,attribute1==1和attribute3==1,因此第4行的新列是13。提前谢谢!
最佳答案
df1=df.loc[:,df.columns[:-2]] #omitting the last 2 columns for reproducibility
df1['new']=df1.dot(df1.columns.str.replace('attribute',''))
print(df1)
attribute1 attribute2 attribute3 attribute4 attribute5 new
id
1 1 0 0 0 0 1
2 1 1 1 1 0 1234
3 0 0 0 0 1 5
4 1 0 1 0 0 13
5 0 0 0 1 0 4
关于python - 如何获得满足条件的多个列索引,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57230109/