如何获得满足条件的多个列索引

时间:2019-07-27 07:33:37

标签: python python-3.x pandas numpy

我有如下数据:

   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的列。我应该怎么做才能做到这一点?新列仅将数据框中的前5列合并到一个新列中,例如对于第4行,attribute1 == 1和attribute3 == 1,因此第4行的新列为13。
预先感谢!

2 个答案:

答案 0 :(得分:4)

.dot()

DAY_NUMBER

df1=df.loc[:,df.columns[:-2]] #omitting the last 2 columns for reproducibility
df1['new']=df1.dot(df1.columns.str.replace('attribute',''))
print(df1)

答案 1 :(得分:0)

您还可以创建一个函数来执行一项活动,并使用

将其应用于数据框

DECLARE @sqlstring VARCHAR(MAX);
DECLARE @GCValue varchar(10);
SET @GCValue = '10';
SET @sqlstring = 'SELECT Id, DATEDIFF(dd, getdate(), FirstDate + ' + @GCValue + ' ) from Table where Id=1234';
EXECUTE(@sqlstring);
cast(@GCValue as varchar(10))