我有如下数据:
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。
预先感谢!
答案 0 :(得分:4)
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))